VB Datagrid显示数据库数据的问题

PrivateSubForm_Load()Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSo... Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\yansuan.mdb"
Dim strquery As String
strquery = "select * from 钢丝绳"
Adodc1.RecordSource = strquery
Adodc1.Refresh
End Sub

为什么第一个单元格是空的啊
展开
 我来答
匿名用户
2013-09-22
展开全部
加上Adodc1.CommandType=adcmdText

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\\yansuan.mdb"
Dim strquery As String
strquery = "select * from 钢丝绳"
Adodc1.CommandType=adcmdText
Adodc1.RecordSource = strquery
Adodc1.Refresh
End Sub

Date和Items为资料栏名称
Private Sub DataGrid1_Click()
If rs.BOF = False And rs.EOF = False Then

txtdate = rs.Fields("Date")

txtitems = rs.Fields("Items")
End If
End Sub

修改资料
Private Sub Command1_click()

rs.Fields("Date") = txtdate

rs.Fields("Items") = txtitems

rs.Update

MsgBox "Successfully Edit Data", vbInformation + vbOKOnly

rs.Requery
end sub

回答:
datagrid第一个单元格空白可以直接在Access资料库输入资料。
或写以下程式以便以后资料是空时无法更新

If txtitems = "" Then

MsgBox "Please fill in items ", vbExclamation + vbOKOnly

txtitems.SetFocus

Exit Sub
End If

而锁定资料可以在Form_Load中写以下程式:
意思是程式一开始锁定表单所有文本栏。
For i = 0 To Me.Controls.Count - 1

If TypeOf Me.Controls(i) Is TextBox Then

Me.Controls(i).Locked = true

End If
Next i

或个别锁定
TextBox1.Locked = true
TextBox2.Locked = true

当按“编辑”钮时才允许用户新增
TextBox1.Locked = false
TextBox2.Locked = false

问:可以修改你添加的数据 但是不能修改数据库原本存在的数据?

答:通常修改和新增资料时,所对应的数据库一定会更动。或许你可以先行复制原资料库到别处再跟新编辑资料.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式