vb的datagrid添加行

怎样在添加记录 执行时,表自动添加空白的一行之后再在这一行里面添加记录?
Private Sub Command1_Click()
On Error Resume Next
If Trim(Text1.Text) = "" Then
MsgBox "请输入药品编号!"
Text1.SetFocus
Else
If Trim(Text2.Text) = "" Then
MsgBox "请输入药品名称!"
Text2.SetFocus

End If
End If

Adodc1.Recordset.Find ("mno=") & Text1.Text

If Adodc1.Recordset.EOF = False Then
MsgBox "该药品已存在"
Text1.Text = ""
Text1.SetFocus
Adodc1.Recordset.CancelUpdate
Else
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("mno") = Text1.Text
Adodc1.Recordset.Fields("mname") = Text2.Text
Adodc1.Recordset.Fields("mmode") = Text3.Text
Adodc1.Recordset.Fields("mefficacy") = Text4.Text

MsgBox ("添加药品信息成功!")

Adodc1.Recordset.UpdateBatch

Adodc1.Refresh
End If
End Sub

可以将DataGrid控件的属性DataSource与Ado Data控件绑定。使用Ado Data控件的Recordset 属性的AddNew 方法添加新行。Update 方法来保存对 Recordset 对象的当前记录所做的所有更改。      

DataSource 属性,返回或设置一个数据源,通过该数据源,数据使用者被绑定到一个数据库。

ADO Data 控件使您能使用 Microsoft ActiveX Data Objects (ADO)
快速地创建一个到数据库的连接。

通过将 DataSource 属性设置为 ADO Data 控件,把 ADO Data 控件连接到一个数据绑定的控件,例如
DataGrid、DataCombo、或 DataList 控件。

以下代码是将输入在文本框的数据添加到数据表,在绑定的DataGrid控件后添加一行。

Private Sub Command1_Click()
    Adodc1.Recordset.AddNew
    Adodc1.Recordset(0) = Text1
    Adodc1.Recordset(1) = Text2
    Adodc1.Recordset(2) = Text3
    Adodc1.Recordset(3) = Text4
    Adodc1.Recordset.Update
End Sub

Private Sub Form_Load() '建立数据库表连接,绑定DataGrid控件
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data\wd.mdb;Persist Security Info=False"
    Adodc1.RecordSource = "select * from jishijilu"
    Adodc1.Refresh
    Set DataGrid1.DataSource = Adodc1
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-07
datagrid界面可以直接使用键盘进行编辑的.
如果要用代码,编辑记录,请问你是用什么方法连接数据库的?
语句
Adodc1.Recordset.Find ("mno=") & Text1.Text
改成这样试试?
Adodc1.Recordset.Find "mno='" & Text1.Text & "'"追问

vb链接数据库,grid表不管是添加还是删除只对首行进行修改。好像是连接不到数据库
我的代码是这样的

本回答被提问者采纳
相似回答