不好意思,说错了,应该是保存修改到数据库,并且刷新DataGrid的显示
解决方案 »
- VB编译的EXE文件到另一台机器上出现run-time error"429"错误
- FTP上传大文件失败!
- VB调用dos命令,高分求助
- 100分求助,还可以再加,VB开发短信平台方案!高手请入内!!
- 为什么使用webbrowser开了一个word,切换到另外一个word事例(本地运行一个word),再切换回来webbrowser中的word,所有的操作就无效了?有什么
- 如何调用库函数
- winsock怎么发送和接这样的数据????????
- 谁有通过互联网发手机短信的VB程序代码(给分!)》》》》》》》》》》》》》》》》》》
- Windows位图的数据结构
- 谁会在VB中使用Direct play8?请赐教!
- 请问学哪一种编程语言软好?
- 如何把保存在sqlserver2000中的图片读出来?又如何把图片保存在sqlserver2000中?
这么easy你也好意思问
还是用控件简单!
ADODC!
'把ADODB.Recordset的值赋给 combobox/text 的text
Public Sub get_text(fmname As Form)
Dim jj As Integer
For jj = 0 To memorst.Fields.Count - 1
For Each ddd In fmname.Controls
If (TypeOf ddd Is TextBox) Or (TypeOf ddd Is ComboBox) Then
If ddd.Tag = jj + 100 Then
memorst.Fields(jj).value = RTrim(ddd.Text)
End If
End If
Next
NextEnd Sub
'把combobox/text 的text 赋给 ADODB.Recordset
Public Sub set_text(fmname As Form, enable As Boolean)
Dim jj As Integer
jj = 0
Dim ddd As Control
For jj = 0 To memorst.Fields.Count - 1
For Each ddd In fmname.Controls
If (TypeOf ddd Is TextBox) Or (TypeOf ddd Is ComboBox) Then
' If editmode = "" Or editmode = "browse" Then
' ddd.Enabled = False
' Else
' ddd.Enabled = True
If (ddd.Tag = 100 Or ddd.Tag = 200) Then
ddd.Enabled = True
If enable And ddd.Visible Then
ddd.SetFocus
End If
End If
If ddd.Tag = jj + 100 Then
If (editmode = "insert") Or (IsEmpty(memorst)) Or (memorst.EOF And memorst.BOF) Then
If Not (TypeOf ddd Is ComboBox And ddd.HelpContextID) = 888 Then
ddd.Text = ""
End If
Else:
If IsNull(memorst.Fields(jj).value) Then
If Not (TypeOf ddd Is ComboBox And ddd.HelpContextID = 888) Then
ddd.Text = ""
End If
Else
If Not (TypeOf ddd Is ComboBox And ddd.HelpContextID = 888 And IsNull(memorst.Fields(jj).value)) Then
ddd.Text = Trim(CStr(memorst.Fields(jj).value))
End If
End If
End If
End If
ddd.Enabled = enable
End If
Next
Next
End Sub
Public Sub update_text(fmname As Form, enable As Boolean)
error_reg = False
If editmode = "insert" Or editmode = "edit" Then
If null_primary_key(fmname) Then
error_reg = True
Exit Sub
End If
End If
Err.Clear
With memorst
Select Case editmode
Case "edit"
On Error GoTo errorhandle0
get_text fmname
.Update
If dg_refresh Then
Call fmname.set_dg 'refresh datagrid
End If
MsgBox "记录已被成功保存", vbOKOnly, "提示"
Case "delete"
If MsgBox("回车将删除当前记录,确认吗?", vbCritical + vbOKCancel, "提示") = vbOK Then
On Error GoTo errorhandle1
。
If memorst.RecordCount = 1 Then memorst.movefirst
.Delete adAffectCurrent
.Update
memorst.Requery
MsgBox "记录已被成功删除", vbOKOnly, "提示"
End If
Case "insert"
If mingxi_reg Then GoTo mylable
On Error GoTo errorhandle0
.addnew
get_text fmname
.Update
MsgBox "记录已被成功保存", vbOKOnly, "提示"
End Select
End With Exit Sub
errorhandle0:
error_reg = True
end sub
Dim Rst As New ADODB.Recordset
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test.mdb;Persist Security Info=False "
Conn.CursorLocation = adUseClient
Conn.Open
Rst.ActiveConnection = Conn
Rst.Open "Select * From Table1"
Set DataGrid1.DataSource = Rst
Set Rst = Nothing
Set Conn = Nothing