多次调用函数后需要在文本字段中保留值

问题描述:

我有一个按钮,我有一个名为[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字段。任何帮助将不胜感激 enter image description here多次调用函数后需要在文本字段中保留值

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" 
    '...