第一步:添加列头
可在form_load里边添加,如下:
'初始化
ListView1FullRowSelect = True '(允许整行选择)
listview1gridlines=true '(显示网格)
listview1checkboxs=true '显示checkboxs框
listview1view=3 '以报表形式显示
ListView1ColumnHeadersClear
ListView1ColumnHeadersAdd 1, , "姓名", 1000
ListView1ColumnHeadersAdd 2, , "性别", 500
ListView1ColumnHeadersAdd 3, , "职称", 1500
ListView1ColumnHeadersAdd 4, , "电话", 1000
第二步,添加数据
Dim itmX As ListItem
Set itmX = lvwListItemsAdd(参数,参数,参数,……) '这些参数都可以为空,具体你可以看看msdn
itmXtext="李四"
itmXSubItems(1) = "雄性"
itmXSubItems(2) = "大将军"
itmXSubItems(3) = "10086"
第三步,取得行数据
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLibListItem)
Text1 = ItemText
Text2 = ItemSubItems(1)
Text3 = ItemSubItems(2)
Text4 = ItemSubItems(3)
End Sub
试一试就能知道怎么用了,快去试试吧
你的程序思路好像不对吧,查询条件来源于Combo1,结果又要显示在Combo1以下几个地方有问题:1、Do
While
Not
Adodc1RecordsetEOF
And
Not
Adodc1RecordsetBOF
这句使用是错误的,如果要用也要在Not后加括号才能达到想要的效果:Do
While
Not
(Adodc1RecordsetEOF
And
Not
Adodc1RecordsetBOF)2、引用字段最好不要用数字,用字段名,这样改变数据库结构不受影响。Combo1AddItem
(Adodc1RecordsetFields(2))改为:
Combo1AddItem
(Adodc1RecordsetFields(“qu"))
3、字段名不要使用Name、User这样的名字,如果使用了这样的名字,SQL语句中要使用[]括号括起来。rsOpen
"select
user
from
people",
Cnn,
1,
3
改为:rsOpen
"select
[user]
from
people",
Cnn,
1,
3
加上Adodc1CommandType=adcmdText
Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath & "\\yansuanmdb"
Dim strquery As String
strquery = "select from 钢丝绳"
Adodc1CommandType=adcmdText
Adodc1RecordSource = strquery
Adodc1Refresh
End Sub
Date和Items为资料栏名称
Private Sub DataGrid1_Click()
If rsBOF = False And rsEOF = False Then
txtdate = rsFields("Date")
txtitems = rsFields("Items")
End If
End Sub
修改资料
Private Sub Command1_click()
rsFields("Date") = txtdate
rsFields("Items") = txtitems
rsUpdate
MsgBox "Successfully Edit Data", vbInformation + vbOKOnly
rsRequery
end sub
回答:
datagrid第一个单元格空白可以直接在Access资料库输入资料。
或写以下程式以便以后资料是空时无法更新
If txtitems = "" Then
MsgBox "Please fill in items ", vbExclamation + vbOKOnly
txtitemsSetFocus
Exit Sub
End If
而锁定资料可以在Form_Load中写以下程式:
意思是程式一开始锁定表单所有文本栏。
For i = 0 To MeControlsCount - 1
If TypeOf MeControls(i) Is TextBox Then
MeControls(i)Locked = true
End If
Next i
或个别锁定
TextBox1Locked = true
TextBox2Locked = true
当按“编辑”钮时才允许用户新增
TextBox1Locked = false
TextBox2Locked = false
问:可以修改你添加的数据 但是不能修改数据库原本存在的数据
答:通常修改和新增资料时,所对应的数据库一定会更动。或许你可以先行复制原资料库到别处再跟新编辑资料
记住:在
Data3DatabaseName
=
AppPath
+
"\tushu1mdb"
'这是设置data3控件数据库的路径
Data3RecordSource
=
"denglu"
'这个是选择数据库中的表
后面不要忘记刷新;
Data3Refresh
另外,你既然用了
Text1Text
=
Data3RecordsetFields("用户名")
Text2Text
=
Data3RecordsetFields("密码")
Text3Text
=
Data3RecordsetFields("密码")
那前面的三行是多余的了
Text1DataSource
=
"Data3"
'这是个文本框控件设置数据源
Text2DataSource
=
"Data3"
Text3DataSource
=
"Data3"
要么这样:
Text1DataSource
=
"Data3"
'这是个文本框控件设置数据源
Text2DataSource
=
"Data3"
Text3DataSource
=
"Data3"
Text1DataField
=
"用户名"
Text2DataField
=
"密码"
Text3DataField
=
"密码"
以上就是关于vb中listview如何显示数据库内容全部的内容,包括:vb中listview如何显示数据库内容、VB要怎么用COMBO BOX控件显示数据库内容、VB Datagrid显示数据库数据的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)