分享

VB连接MDB数据库的例子

 hdzgx 2017-11-02

引用 Microsoft ActiveX Data Objects 2.8 Library
或者加入microsoft ado data control
定义数据库连接
Dim Cnn As New ADODB.Connection
定义操作记录
Dim Res As New ADODB.Recordset
开始使用
If Res.State = 1 Then Res.Close
Res.CursorLocation = adUseClient
Res.Open "SELECT * From 发票表", Cnn, adOpenDynamic, adLockReadOnly

删除用res.Delete
添加用res.AddNew
            res.Fields("序号") = Trim(Res.Fields("序号"))
            ...
        res.Update


更新用Res.Update "序号", 111


列:
'写入产品信息
Sub WriteFP()
'On Error Resume Next
Dim SyBaseRes As New ADODB.Recordset
PB.value = 0
Res.Open "SELECT Count(*) From ICSaleEntry INNER JOIN t_Item ON ICSaleEntry.FItemID = t_Item.FItemID INNER JOIN t_MeasureUnit ON ICSaleEntry.FUnitID = t_MeasureUnit.FMeasureUnitID", SQLServer, adOpenDynamic, adLockReadOnly
Text2.Text = "当前共 " & Val(Res.Fields(0)) & "条数据"
PB.Max = Val(Res.Fields(0))
If Res.State = 1 Then Res.Close
Res.Open "SELECT ICSaleEntry.FDetailID AS 序号,ICSaleEntry.FInterID AS 物料编号, t_Item.FName AS 产品名称,ICSaleEntry.FAuxPrice AS 单价, ICSaleEntry.FAuxQty AS 数量,ICSaleEntry.FAmount AS 原币, ICSaleEntry.FStdAmount AS 本币,t_MeasureUnit.FName AS 单位 FROM ICSaleEntry INNER JOIN t_Item ON ICSaleEntry.FItemID = t_Item.FItemID INNER JOIN t_MeasureUnit ON ICSaleEntry.FUnitID = t_MeasureUnit.FMeasureUnitID", SQLServer, adOpenDynamic, adLockReadOnly

Do While Not Res.EOF
   If SyBaseRes.State = 1 Then SyBaseRes.Close
      SyBaseRes.Open "select * from 物料表 where 序号='" & Res.Fields("序号") & "'", Cnn, adOpenDynamic, adLockOptimistic
      If SyBaseRes.EOF Then
         Text2.Text = Text2.Text vbCrLf "正在添加: " & Trim(Res.Fields("序号"))
         SyBaseRes.AddNew
           SyBaseRes.Fields("序号") = Trim(Res.Fields("序号"))
           SyBaseRes.Fields("产品编号") = Trim(Res.Fields("物料编号"))
           SyBaseRes.Fields("产品名称") = Trim(Res.Fields("产品名称"))
           SyBaseRes.Fields("单价") = Trim(Res.Fields("单价"))
           SyBaseRes.Fields("数量") = Trim(Res.Fields("数量"))
           SyBaseRes.Fields("原币") = Trim(Res.Fields("原币"))
           SyBaseRes.Fields("本币") = Trim(Res.Fields("本币"))
           SyBaseRes.Fields("单位") = Trim(Res.Fields("单位"))
           SyBaseRes.Fields("数据库名") = Trim(Text1.Text)
         SyBaseRes.Update
        
        Else
           Text2.Text = Text2.Text vbCrLf "正在更新: " & Trim(Res.Fields("序号"))
           SyBaseRes.Update "序号", Trim(Res.Fields("序号"))
           SyBaseRes.Update "产品编号", Trim(Res.Fields("物料编号"))
           SyBaseRes.Update "产品名称", Trim(Res.Fields("产品名称"))
           SyBaseRes.Update "单价", Trim(Res.Fields("单价"))
           SyBaseRes.Update "数量", Trim(Res.Fields("数量"))
           SyBaseRes.Update "原币", Trim(Res.Fields("原币"))
           SyBaseRes.Update "本币", Trim(Res.Fields("本币"))
           SyBaseRes.Update "单位", Trim(Res.Fields("单位"))
           SyBaseRes.Update "数据库名", Trim(Text1.Text)
      End If
   PB.value = PB.value 1
   Res.MoveNext
   DoEvents
Loop
If SyBaseRes.State = 1 Then SyBaseRes.Close
Set SyBaseRes = Nothing
End Sub


网络希望不要用ACCESS用ASA(就是sybase那个太强了)

 

-=========================================================================

 

dim strcon as string
dim sql as string
dim cn as new adodb.connection
dim rs as new adodb.recordset
strcon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库.mdb;Persist Security Info=False;Jet OLEDB:Database Password=" '数据库连接字符串,mdb的地址和名称在这里改
cn.open strcon '打开数据库连接
sql="select * from 表1 where 规格='" & text1.text & "'" '建立查询语句
rs.open sql,cn,1,1 '打开数据集
if rs.recordcount<=0 then '如果规格里没有text1.text的值
MSGBOX “出错”
text1.setfocus '这句和下两句的作用是选中text1
text1.selstart=1
text1.SelLength=len(text1.text)
exit sub '退出过程
else '如果价格中查到text1
text2.text=rs("价格").value 'text2等于对应值
end if
rs.close '关闭数据集
cn.close
set rs=nothing '释放变量
set cn=nothing ============================================================== 1:adodb1.连接 (“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SoccerPlayer DB.mdb”),

strcon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库.mdb;Persist Security Info=False;Jet OLEDB:Database Password=" '数据库连接字符串,mdb的地址和名称在这里改

2:“ODBC;DBQ=E:\Quake III Arena\MSAccess.mdb;DefaultDir=d:\Downloads\e21;Driver={Microsoft Access Driver (*.mdb)};”

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约