null意思是unknown.也就是说不知道值。 所以它不能用于赋值。 建议你先判断是不是null,然后再赋给别的变量。 if (Not IsNull(text1.text)) then db.fields(0).value=text1.text else db.fields(0).value=""
,上面大家给出的解决方法还是不行, 下面我将我的代码贴出来: Option Explicit Dim db As Database Dim rs As Recordset Dim dbname As String Dim fieldnum As Integer Dim i As Integer Dim answer As Long Const dbOpenDynaset = 2 Private Sub addcontent_Click() add End SubPrivate Sub Command1_Click() For i = 1 To fieldnum Text1(i).Text = "" Next i Text1(1).SetFocus End SubPrivate Sub Command2_Click() db.Close End End SubPrivate Sub Form_Load() opendb.Caption = "打开" addcontent.Caption = "确定" Command1.Caption = "继续输入" Command2.Caption = "退出" End SubPrivate Sub opendb_Click() On Error GoTo errhandler CommonDialog1.CancelError = True CommonDialog1.Filter = "access file|*.mdb" CommonDialog1.Action = 1 Set db = OpenDatabase(CommonDialog1.FileName) Set rs = db.OpenRecordset("职员基本情况") fieldnum = rs.Fields.Count For i = 1 To fieldnum Load Text1(i) Load Label1(i) Text1(i).Visible = True Text1(i).Text = "" Text1(i).Top = Text1(i - 1).Top + 380 Label1(i).Visible = True Label1(i).Top = Text1(i).Top
Next i For i = 1 To fieldnum Label1(i).Caption = rs.Fields(i - 1).Name Next i Text1(1).SetFocus Exit Sub errhandler: Exit Sub End Sub Private Sub add() rs.AddNew For i = 1 To fieldnum If Not IsNull(Text1(i).Text) Then rs.Fields(i - 1).Value = Text1(i).Text '问题就在这行!!!!!!!! End If Next i rs.Update End Sub
db.fields(0).value=cint(text1.text)
db.fields(0).value=text1.text & ""
所以它不能用于赋值。
建议你先判断是不是null,然后再赋给别的变量。
if (Not IsNull(text1.text)) then db.fields(0).value=text1.text
else
db.fields(0).value=""
下面我将我的代码贴出来:
Option Explicit
Dim db As Database
Dim rs As Recordset
Dim dbname As String
Dim fieldnum As Integer
Dim i As Integer
Dim answer As Long
Const dbOpenDynaset = 2
Private Sub addcontent_Click()
add
End SubPrivate Sub Command1_Click()
For i = 1 To fieldnum
Text1(i).Text = ""
Next i
Text1(1).SetFocus
End SubPrivate Sub Command2_Click()
db.Close
End
End SubPrivate Sub Form_Load()
opendb.Caption = "打开"
addcontent.Caption = "确定"
Command1.Caption = "继续输入"
Command2.Caption = "退出"
End SubPrivate Sub opendb_Click()
On Error GoTo errhandler
CommonDialog1.CancelError = True
CommonDialog1.Filter = "access file|*.mdb"
CommonDialog1.Action = 1
Set db = OpenDatabase(CommonDialog1.FileName)
Set rs = db.OpenRecordset("职员基本情况")
fieldnum = rs.Fields.Count
For i = 1 To fieldnum
Load Text1(i)
Load Label1(i)
Text1(i).Visible = True
Text1(i).Text = ""
Text1(i).Top = Text1(i - 1).Top + 380
Label1(i).Visible = True
Label1(i).Top = Text1(i).Top
Next i
For i = 1 To fieldnum
Label1(i).Caption = rs.Fields(i - 1).Name
Next i
Text1(1).SetFocus
Exit Sub
errhandler:
Exit Sub
End Sub
Private Sub add()
rs.AddNew
For i = 1 To fieldnum
If Not IsNull(Text1(i).Text) Then
rs.Fields(i - 1).Value = Text1(i).Text '问题就在这行!!!!!!!!
End If
Next i
rs.Update
End Sub
如果全都是应该没有问题吧!
如果有一个字段不是字符型就有问题了!!
应该把text(i).text转换成相应的类型。