注册 登录
编程论坛 VB6论坛

求助,怎么把listviwe中的数据导入到ACCESS中

jiwei79 发布于 2020-03-02 16:07, 5662 次点击
求助各位版主,小弟刚接触VB,在网上找了个电话本的程序(不全),现在是能从ACCESS中把数据读进listviwe中,但没有从listviwe中把数据导入到ACCESS中的这些步骤,请版主或者大神帮助写下代码,谢谢!
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2020-3-3 09:06编辑过]

16 回复
#2
jiwei792020-03-03 09:07
昨天忘记上传附件了,风吹过b版本帮帮忙,感谢
#3
show1472020-03-18 11:17
这个读入数据没问题吗,怎么附件程序运行不了呢,而且还是只读的,没法修改!
#4
jiwei792020-03-18 21:53
回复 3楼 show147
我又下载了次,可以编辑的,没问题啊
#5
jiwei792020-03-18 21:55
只有本站会员才能查看附件,请 登录
#6
show1472020-03-19 10:36
把下面的代码,贴入你的导出按键里,我的vb 没有ListItem控件,无法测试.

If Dir(LJ & "dhb.mdb") <> "" Then
    '设置连接字符串ConnectionString属性.mdb的 access文件必须用Microsoft.Jet.OLEDB.4.0  ,Access 97为3.51
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
               + " Data Source=" & LJ & "dhb.mdb; "
    '打开到数据库的连接
    cn.Open
    '设置rs1的ActiveConnection属性,指定与其关联的数据库连接
    Set rs.ActiveConnection = cn
    '设置游标类型
    rs.CursorType = adOpenStatic
    '打开记录集,将从表data中读取的结果集保存到记录集rs1中
    rs.Open SQL

    '显示记录
    If xItem.ListView1.ListItems.Count > 0 Then
        For i = 1 To xItem.ListView1.ListItems.Count
            rs.AddNew
            If Not IsNull(xItem.SubItems(0)) Then rs.Fields("姓名") = xItem.SubItems(0)
            If Not IsNull(xItem.SubItems(1)) Then rs.Fields("拼音") = xItem.SubItems(1)
            If Not IsNull(xItem.SubItems(2)) Then rs.Fields("手机") = xItem.SubItems(2)
            If Not IsNull(xItem.SubItems(3)) Then rs.Fields("办公电话") = xItem.SubItems(3)
            If Not IsNull(xItem.SubItems(4)) Then rs.Fields("家庭电话") = xItem.SubItems(4)
            If Not IsNull(xItem.SubItems(5)) Then rs.Fields("传真") = xItem.SubItems(5)
            If Not IsNull(xItem.SubItems(6)) Then rs.Fields("电子邮箱") = xItem.SubItems(6)
            If Not IsNull(xItem.SubItems(7)) Then rs.Fields("QQ") = xItem.SubItems(7)
        
            '以此类推。。。。

           rs.Update '数据写入数据库
        Next i

        MsgBox "导出成功"
    End If
    '关闭记录集
    rs.Close
    '关闭cnn对象
    cn.Close
   End If
#7
jiwei792020-03-19 22:51
回复 6楼 show147
今天上线的晚,我明天试下,万分感谢
#8
jiwei792020-03-20 09:18
有错误
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
#9
show1472020-03-20 22:48
你的数据库好像是只读属性的,你直接打开access,看能增加记录不,如果不能,就是数据库设置没对
#10
jiwei792020-03-21 11:56
回复 9楼 show147
看了下属性不是只读,也直接打开数据库,可以写入数据..........
#11
show1472020-03-21 13:45
将代码中rs.Open SQL 换成  rs.Open "电话本", con, adOpenStatic, adLockOptimistic  
将这句话中“电话本” 自己重新打下,我这边打中文有时看起来字是一样,但是系统就是认为是两种,  最好把数据表取个英文名
#12
jiwei792020-03-21 18:47
回复 11楼 show147
只有本站会员才能查看附件,请 登录
,哥哥,你电脑上没有VB吗?
#13
show1472020-03-21 21:37
rs.Open "电话本", cn, adOpenStatic, adLockOptimistic   前表是指表,后面指 数据库,刚才把数据库打错了,一

我电脑上vb 没有装 ListItem 这种不常用的控件,所以你的源程序没法运行,
还不行的话,你加我,我帮你远程一下
#14
show1472020-03-21 22:35
算了,我好人做到底,安装了 ListItem 控件,测试成功了,不过前面有几行代码读不出来,屏蔽掉了,你从下面复制或直接程序里剪切嘛!
If Dir(LJ & "dhb.mdb") <> "" Then
    '设置连接字符串ConnectionString属性.mdb的 access文件必须用Microsoft.Jet.OLEDB.4.0  ,Access 97为3.51
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
               + " Data Source=" & LJ & "dhb.mdb; "
    '打开到数据库的连接
    cn.Open
    '设置rs1的ActiveConnection属性,指定与其关联的数据库连接
    Set rs.ActiveConnection = cn
    '设置游标类型
    rs.CursorType = adOpenStatic
    '打开记录集,将从表data中读取的结果集保存到记录集rs1中
    rs.Open "电话本", cn, adOpenStatic, adLockOptimistic

   
    '显示记录
    If ListView1.ListItems.Count > 0 Then
        For i = 1 To ListView1.ListItems.Count
            rs.AddNew
            If Not IsNull(ListView1.ListItems(i).Text) Then rs.Fields("姓名") = ListView1.ListItems(i).Text
            If Not IsNull(ListView1.ListItems(i).SubItems(1)) Then rs.Fields(1) = ListView1.ListItems(i).SubItems(1)
            If Not IsNull(ListView1.ListItems(i).SubItems(2)) Then rs.Fields(2) = ListView1.ListItems(i).SubItems(2)
            If Not IsNull(ListView1.ListItems(i).SubItems(3)) Then rs.Fields(3) = ListView1.ListItems(i).SubItems(3)
            If Not IsNull(ListView1.ListItems(i).SubItems(4)) Then rs.Fields(4) = ListView1.ListItems(i).SubItems(4)
            If Not IsNull(ListView1.ListItems(i).SubItems(5)) Then rs.Fields(5) = ListView1.ListItems(i).SubItems(5)
            If Not IsNull(ListView1.ListItems(i).SubItems(6)) Then rs.Fields(6) = ListView1.ListItems(i).SubItems(6)
             If Not IsNull(ListView1.ListItems(i).SubItems(7)) Then rs.Fields(7) = ListView1.ListItems(i).SubItems(7)
        
            '以此类推。。。。

           rs.Update '数据写入数据库
        Next i

        MsgBox "导出成功"
    End If
    '关闭记录集
    rs.Close
    '关闭cnn对象
    cn.Close
   End If
只有本站会员才能查看附件,请 登录
#15
show1472020-03-21 22:35
算了,我好人做到底,安装了 ListItem 控件,测试成功了,不过前面有几行代码读不出来,屏蔽掉了,你从下面复制或直接程序里剪切嘛!
If Dir(LJ & "dhb.mdb") <> "" Then
    '设置连接字符串ConnectionString属性.mdb的 access文件必须用Microsoft.Jet.OLEDB.4.0  ,Access 97为3.51
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
               + " Data Source=" & LJ & "dhb.mdb; "
    '打开到数据库的连接
    cn.Open
    '设置rs1的ActiveConnection属性,指定与其关联的数据库连接
    Set rs.ActiveConnection = cn
    '设置游标类型
    rs.CursorType = adOpenStatic
    '打开记录集,将从表data中读取的结果集保存到记录集rs1中
    rs.Open "电话本", cn, adOpenStatic, adLockOptimistic

   
    '显示记录
    If ListView1.ListItems.Count > 0 Then
        For i = 1 To ListView1.ListItems.Count
            rs.AddNew
            If Not IsNull(ListView1.ListItems(i).Text) Then rs.Fields("姓名") = ListView1.ListItems(i).Text
            If Not IsNull(ListView1.ListItems(i).SubItems(1)) Then rs.Fields(1) = ListView1.ListItems(i).SubItems(1)
            If Not IsNull(ListView1.ListItems(i).SubItems(2)) Then rs.Fields(2) = ListView1.ListItems(i).SubItems(2)
            If Not IsNull(ListView1.ListItems(i).SubItems(3)) Then rs.Fields(3) = ListView1.ListItems(i).SubItems(3)
            If Not IsNull(ListView1.ListItems(i).SubItems(4)) Then rs.Fields(4) = ListView1.ListItems(i).SubItems(4)
            If Not IsNull(ListView1.ListItems(i).SubItems(5)) Then rs.Fields(5) = ListView1.ListItems(i).SubItems(5)
            If Not IsNull(ListView1.ListItems(i).SubItems(6)) Then rs.Fields(6) = ListView1.ListItems(i).SubItems(6)
             If Not IsNull(ListView1.ListItems(i).SubItems(7)) Then rs.Fields(7) = ListView1.ListItems(i).SubItems(7)
        
            '以此类推。。。。

           rs.Update '数据写入数据库
        Next i

        MsgBox "导出成功"
    End If
    '关闭记录集
    rs.Close
    '关闭cnn对象
    cn.Close
   End If
只有本站会员才能查看附件,请 登录
#16
jiwei792020-03-23 11:00
回复 15楼 show147
太感谢哥哥了,这2天一直没开电脑,今天才看到。马上下载调试下
#17
jiwei792020-03-23 14:27
回复 15楼 show147
你好,还有些问题,能加你QQ吗?我的QQ:1287996918
1