我在用自己编写的Access(MDB)数据库控制程序中对数据库进行写操作,有时侯如一次写入大批量数据,结果会出像很多空行,但程序并没有引发任何错误,这是为什么?下面是我写的程序:Private Mdb As Database, Mdb2 As Recordset, MdbChange As Field, MdbChange3 As TableDefPublic Function WriteAccess(FileName As String, Username As String, ByVal Password As String, TableName As String, RecordNumber As Long, _
FieldNumber As Long, DataMain As Variant, Optional IsError As Boolean = False) As Boolean
Password = ";PWD=" & Trim(Password)
On Error GoTo ErrCL
Set Mdb = OpenDatabase(FileName, False, False, Password)
Set Mdb2 = Mdb.OpenRecordset(TableName)
If IsError = True Then
If RecordNumber > Mdb2.RecordCount Or FieldNumber > Mdb2.Fields.Count Then
WriteAccess = False
Mdb2.Close
Mdb.Close
Exit Function
End If
End If
Call Mdb2.MoveFirst
Call Mdb2.Move(RecordNumber)
Mdb2.Edit
Mdb2(FieldNumber) = DataMain
Mdb2.Update
Mdb2.Close
Mdb.Close
WriteAccess = True
Exit Function
ErrCL:
If Err.Number = 3050 Then
Resume
End If
Exit Function
End Function
FieldNumber As Long, DataMain As Variant, Optional IsError As Boolean = False) As Boolean
Password = ";PWD=" & Trim(Password)
On Error GoTo ErrCL
Set Mdb = OpenDatabase(FileName, False, False, Password)
Set Mdb2 = Mdb.OpenRecordset(TableName)
If IsError = True Then
If RecordNumber > Mdb2.RecordCount Or FieldNumber > Mdb2.Fields.Count Then
WriteAccess = False
Mdb2.Close
Mdb.Close
Exit Function
End If
End If
Call Mdb2.MoveFirst
Call Mdb2.Move(RecordNumber)
Mdb2.Edit
Mdb2(FieldNumber) = DataMain
Mdb2.Update
Mdb2.Close
Mdb.Close
WriteAccess = True
Exit Function
ErrCL:
If Err.Number = 3050 Then
Resume
End If
Exit Function
End Function
解决方案 »
- 关于DO和FOR套嵌的问题,错误1004
- 【问】如何加载内存中的Image.Picture给API版的ListView?
- 在spread最下面始终有一行显示?请问该如何实现?
- !!!请您帮忙 !!!
- 请问键盘上的上,下,左,右对应的keyascii是哪个.
- 怎样把用date()得到的日期转换成另一个日期格式,如把20020701 转换成20027(不要天)?
- 如何判断listview 中还有没有表格?
- vb6.0 mschart
- 大家说说的VOLO VIEWER是控件吗,好像是一个程序吧?
- 请各位前辈帮我解决,远程连接网上空间的ACCESS2000数据库!!急!!!!
- 急急……在线等……关于在vb中使用F1F2F3F4F5等特殊键做来快捷键的问题
- 打开一个excel文件之前,如何检测文件是否存在,文件是否已打开?
1. 改用 ADO控件(ado15.dll),使用adodb.recordset.updatebatch方法,可以
实现批量更新; 2. 直接使用database.execute方法,效率比用recordset.update高
很多。