学习的ACCESS时 师傅给直接添加到我的vb中了 是一个模块内容 但是又不知道什么意思 但是可以直接连接数据库开始设计了 是什么呢 我在日文系统下学的 所以有些日文
Option Explicit 'システムグローバル定数
Public Const gVERSION = "Ver2.10" 'プログラムバージョン
Public Const gPRINT = 1 '印刷:1, PREVIEW:0 'ユーザーID
Public gUser As String
Private pCnn As ADODB.Connection' ◆ 現在のコネクションとして指定の MDB ファイルをオープンする。
' オープンに成功したら True を返す。
' ※ オープンに失敗したら False を返すが、加えてその旨メッセージを
' 表示している。
Public Function DB_Open(MdbFilePn As String) As Boolean DB_Open = meConnectionOpen(pCnn, MdbFilePn)
If Not DB_Open Then
Call NNS_MsgAbt("DB_Open")
End IfEnd Function' ◆ 現在のコネクションをクローズする。
Public Function DB_Close() As Boolean DB_Close = meConnectionClose(pCnn)
If Not DB_Close Then
Call NNS_MsgAbt("DB_Close")
End IfEnd Function' ◆ 現在のコネクションのトランザクションを開始する。
Public Sub DB_Begin() pCnn.BeginTransEnd Sub' ◆ 現在のコネクションのトランザクションをコミットする。
Public Sub DB_Commit() pCnn.CommitTransEnd Sub' ◆ 現在のコネクションのトランザクションをロールバックする。
Public Sub DB_RollBack() pCnn.RollbackTransEnd Sub' ◆ 現在のコネクションで SQL 文 Sql を実行する。
' 「gDATABASE.Execute lSql, dbFailOnError」の置き換えを想定している。
' ※ 実装は On Error ~ で囲まないこと。
Public Sub DB_Execute(Sql As String)
pCnn.Execute Sql, , adExecuteNoRecordsEnd Sub' ◆ 現在のコネクションで新規レコードセットを作成する。
' 作成した新規レコードセットを返す。
' 「Set lRec = gDATABASE.OpenRecordset(lSql)」の置き換えを想定している。
' ※ 実装は On Error ~ で囲まないこと。
Public Function DB_OpenRecordset(Sql As String) As ADODB.Recordset Set DB_OpenRecordset = New ADODB.Recordset
' 2008.11.25 修正前OpenRecordsetのデフォルトが dbOpenSnapshot だったので
' adOpenStatic を追記する ※ADODBのデフォルトは adOpenForwardOnly
DB_OpenRecordset.Open Sql, pCnn, adOpenStatic
' DB_OpenRecordset.Open Sql, pCnnEnd Function' 指定のコネクションを、もしオープンされていれば閉じ、最終的に破棄され
' た状態とする。
' この処理の結果、指定のコネクションが破棄された状態になれば True を返
' す。
' なんらかのエラーにより破棄できなかった場合は False を返す。
Private Function meConnectionClose(ByRef cnnDe As ADODB.Connection) As Boolean If Not cnnDe Is Nothing Then
On Error Resume Next
cnnDe.Close
If Err.Number = 0 Then
Set cnnDe = Nothing
End If
On Error GoTo 0
End If
meConnectionClose = cnnDe Is NothingEnd Function' 指定のパス名のデータベースファイルへのコネクションをオープンする。
' オープンに成功したら引数 cnnDe に参照を設定して True を返す。
' なんらかのエラーによりオープンできなかった場合は False を返す。
' ※ いずれの場合でも引数 cnnDe の元の内容は破棄される。
Private Function meConnectionOpen(ByRef cnnDe As ADODB.Connection, pn As String) As Boolean If meConnectionClose(cnnDe) Then
Set cnnDe = New ADODB.Connection
On Error Resume Next
cnnDe.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pn
meConnectionOpen = Err.Number = 0
On Error GoTo 0
If Not meConnectionOpen Then
Set cnnDe = Nothing
End If
End IfEnd Function
Option Explicit 'システムグローバル定数
Public Const gVERSION = "Ver2.10" 'プログラムバージョン
Public Const gPRINT = 1 '印刷:1, PREVIEW:0 'ユーザーID
Public gUser As String
Private pCnn As ADODB.Connection' ◆ 現在のコネクションとして指定の MDB ファイルをオープンする。
' オープンに成功したら True を返す。
' ※ オープンに失敗したら False を返すが、加えてその旨メッセージを
' 表示している。
Public Function DB_Open(MdbFilePn As String) As Boolean DB_Open = meConnectionOpen(pCnn, MdbFilePn)
If Not DB_Open Then
Call NNS_MsgAbt("DB_Open")
End IfEnd Function' ◆ 現在のコネクションをクローズする。
Public Function DB_Close() As Boolean DB_Close = meConnectionClose(pCnn)
If Not DB_Close Then
Call NNS_MsgAbt("DB_Close")
End IfEnd Function' ◆ 現在のコネクションのトランザクションを開始する。
Public Sub DB_Begin() pCnn.BeginTransEnd Sub' ◆ 現在のコネクションのトランザクションをコミットする。
Public Sub DB_Commit() pCnn.CommitTransEnd Sub' ◆ 現在のコネクションのトランザクションをロールバックする。
Public Sub DB_RollBack() pCnn.RollbackTransEnd Sub' ◆ 現在のコネクションで SQL 文 Sql を実行する。
' 「gDATABASE.Execute lSql, dbFailOnError」の置き換えを想定している。
' ※ 実装は On Error ~ で囲まないこと。
Public Sub DB_Execute(Sql As String)
pCnn.Execute Sql, , adExecuteNoRecordsEnd Sub' ◆ 現在のコネクションで新規レコードセットを作成する。
' 作成した新規レコードセットを返す。
' 「Set lRec = gDATABASE.OpenRecordset(lSql)」の置き換えを想定している。
' ※ 実装は On Error ~ で囲まないこと。
Public Function DB_OpenRecordset(Sql As String) As ADODB.Recordset Set DB_OpenRecordset = New ADODB.Recordset
' 2008.11.25 修正前OpenRecordsetのデフォルトが dbOpenSnapshot だったので
' adOpenStatic を追記する ※ADODBのデフォルトは adOpenForwardOnly
DB_OpenRecordset.Open Sql, pCnn, adOpenStatic
' DB_OpenRecordset.Open Sql, pCnnEnd Function' 指定のコネクションを、もしオープンされていれば閉じ、最終的に破棄され
' た状態とする。
' この処理の結果、指定のコネクションが破棄された状態になれば True を返
' す。
' なんらかのエラーにより破棄できなかった場合は False を返す。
Private Function meConnectionClose(ByRef cnnDe As ADODB.Connection) As Boolean If Not cnnDe Is Nothing Then
On Error Resume Next
cnnDe.Close
If Err.Number = 0 Then
Set cnnDe = Nothing
End If
On Error GoTo 0
End If
meConnectionClose = cnnDe Is NothingEnd Function' 指定のパス名のデータベースファイルへのコネクションをオープンする。
' オープンに成功したら引数 cnnDe に参照を設定して True を返す。
' なんらかのエラーによりオープンできなかった場合は False を返す。
' ※ いずれの場合でも引数 cnnDe の元の内容は破棄される。
Private Function meConnectionOpen(ByRef cnnDe As ADODB.Connection, pn As String) As Boolean If meConnectionClose(cnnDe) Then
Set cnnDe = New ADODB.Connection
On Error Resume Next
cnnDe.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pn
meConnectionOpen = Err.Number = 0
On Error GoTo 0
If Not meConnectionOpen Then
Set cnnDe = Nothing
End If
End IfEnd Function
解决方案 »
- VB6.0调用WSDL
- 请问vb中如何调用dll和com能否分别给出一个例子,万分感谢了
- 关于MSFlexGrid
- 请问何如使用VB将一数据文本文件导入 EXCEL ?
- 在Mshflexgrid中如何得到鼠标位置处的单元格位置?
- 高分求解!——如何获得程序中一无标题栏子窗口的句柄?!问题解出可给300分!谢谢啦!
- rs.recordcount问题
- 请问:如何读出用Foxpro存储的一系列DBF文件的数据,再把它拼成已制定好的XML格式的字符窜输出。
- 急需一个用EXCEL做报表的VB试例程序,希望功能全,仅学习用,分不够可另加!
- 如何在msflexgrid控件中的某一列中加入checkbox控件?
- vb 关于自动计算的问题
- 怪问题:一行数据中间断了,变成了两行了,请教高手~!
还有表的打开关闭 执行 SQL 语句 处理事务