求VB连接MDB数据库的例子

如题。最好能给个例子。给个VB源码例子,支持写入。读取。搜索。(写入、读取、搜索的对像都是指定的那个MDB文件。)试用成功追加300分(MDB文件是本地的)追加500分。(MDB文件是网络上的)追加1000分
谢谢~~绝不失言

哈哈,这个很简单的
引用 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那个太强了)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-07
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)};”
第2个回答  2013-04-07
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
第3个回答  2013-04-07
用ADO连数据库
第4个回答  2013-04-07
网络地址是什么意思,是一个HTTP的地址?如果是可能不行哟?FTP可能可以,但我没有试过……
相似回答