多次调用函数后需要在文本字段中保留值
问题描述:
我有一个按钮,我有一个名为[input norm]的表和两个字段ITEM AND MFG,并且我已经像这样写了代码,当我单击在按钮上它应该保留msgstr的值,当它第二次调用函数时,旧的Text32.Value也应该被保留。 例如,在我调用函数CheckColumnType_TEXT("INPUT NORM", "ITEM")
时,它会显示'ITEM不是TEXT类型' - 在这种情况下它是正确的,但是当它调用Call CheckColumnType_TEXT("INPUT NORM", "MFG")
时,它将显示'MFG不是TEXT类型',这是正确的嗯,但问题是,Text32.Value存储最新值即MFG不是TEXT类型,但我希望两者ITEM不是TEXT类型和MFG不是TEXT类型将保留在我的Text32.Value字段。任何帮助将不胜感激 多次调用函数后需要在文本字段中保留值
Private Sub Command0_Click()
Dim db As DAO.Database
Set db = CurrentDb()
Dim str As String
Call CheckColumnType_TEXT("INPUT NORM", "ITEM")
Call CheckColumnType_TEXT("INPUT NORM", "MFG")
End Sub
Function CheckColumnType_TEXT(TblName As String, ColName As String)
Dim db As DAO.Database
Set db = CurrentDb()
Dim tbl_nks As DAO.TableDef
Set tbl_nks = db.TableDefs("[INPUT NORM]")
If ifFieldExists(ColName, "[INPUT NORM]") Then
If (tbl_nks.Fields(ColName).Type = dbText) = False Then
Dim msgstr As String
msgstr = msgstr & ColName & " is not TEXT Type" + vbCrLf
'Return msgstr
Text32.Value = msgstr
Text32.ForeColor = vbBlue
'status.Value = ""
'Exit Function
Else
End If
Else
MsgBox ColName & " field is not available", vbCritical
'status.Value = ""
End If
End Function
Public Function ifFieldExists(FLDNAME As String, TableName As String) As Boolean
Dim rs As Recordset, db As DAO.Database 'Sub DAO Vars
On Error GoTo fs
Set db = CurrentDb()
Set rs = db.OpenRecordset("Select " & FLDNAME & " from " & TableName & ";")
ifFieldExists = True
rs.Close
db.Close
Exit Function
fs:
Set rs = Nothing
db.Close
Set db = Nothing
ifFieldExists = False
Exit Function
End Function
答
初始化的文本框,在你处理的开始:
Private Sub Command0_Click()
Dim db As DAO.Database
Set db = CurrentDb()
Dim str As String
Text32.Value = ""
Call CheckColumnType_TEXT("INPUT NORM", "ITEM")
Call CheckColumnType_TEXT("INPUT NORM", "MFG")
End Sub
,然后每次更新您检查一列:
Function CheckColumnType_TEXT(TblName As String, ColName As String)
'...
'...
'Dim msgstr As String
If Text32.Value <> "" Then
Text32.Value = Text32.Value & vbCrLf
End If
Text32.Value = Text32.Value & ColName & " is not TEXT Type"
'...