用ACCESS数据库,假设有表1和表2,表1和表2都有相同字段姓名和编号
在知道表1的姓名和编号情况下(表1的姓名假设为张三,编号为1111)
表2只知道编号,不知道姓名....
表2的编号为1111时,保存表2的姓名和编号(保存为张三和1111)保存表2的姓名和编号可以实现,问题是如果表1的姓名字段中有些记录是空的话,表2的姓名却不是空的,而是显示为表2姓名字段上一个记录的姓名,这是什么原因??我想要实现如果表2中的编号在表1中的编号有相同的,那么表2中的姓名和编号会自动保存表1中相同的姓名和编号
如果表1中姓名是空的,表2的姓名也是空的,而不会出现显示上一个记录的姓名
部分代码如下,另外补充一下,我是用循环来保存数据库的,才会出现空姓名的情况下重复掉姓名,如果是保存单条记录就不会,高手帮帮忙,非常感谢!!
Dim aa As Integer
aa = Len(HMD2)  '数据总长度
bb = aa / 6       '数据分成?组
'ss = Mid(HMD2.Text, 11, 156)
For I = 0 To bb - 1
str = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" & App.Path & "/1.mdb"
sql02 = "select * from IC卡信息 "
cnn.Open str
rst2.Open sql02, cnn, 3, 2
Do
in_4 = in_4 + 1
sql2 = "select count(*) as cc from 数据 where (  " & "编号='" & CStr(Hex2Dec(Mid(HMD2, in_5 + 1, 6))) & "'" & ")"
Set rst = cnn.Execute(sql2)If Not (rst!cc > 0) Then
Dim xxx$
rst2.MoveFirst
Do Until rst2.EOF
   If rst2.Fields("编号") = CStr(Hex2Dec(Mid(HMD2, in_5 + 1, 6))) Then xxx = rst2.Fields("姓名"): Exit Do
   
rst2.MoveNext
LoopIf xxx = "" Then
sql1 = "insert into 数据(编号) values('" & CStr(Hex2Dec(Mid(HMD2, in_5 + 1, 6))) & "')"
Else
sql1 = "insert into 数据(姓名,编号) values('" & xxx & "','" & CStr(Hex2Dec(Mid(HMD2, in_5 + 1, 6))) & "')"
End Ifcnn.Execute (sql1)
rst2.Close
cnn.Update
cnn.Close
End Ifin_5 = in_5 + 6
Loop While (in_4 = in_3)Next I