数年前に学んだVBをほとんど忘れてしまったので、最近復習しています。 ADO データベースを VB に接続することはそれほど難しくありません。
接続の最初のステップ (よく見てください)
初心者向けに、ここにあるチュートリアルが最も詳細に説明されています。ADO データベースに接続するための最初のステップは、どのコンポーネントを追加する必要があるかということです。正式名は、Microsoft ADO Data Control 6.0 (SP6) (OLEDB) コンポーネントです。
Microsoft ADO データ コントロール 6.0 (SP6) (OLEDB) コンポーネントには、Adodc データ コントロールという名前があります。これを追加する必要があります。 Adodc データ コントロール データの場所で ACCES を見つけます。
コントロールによって参照されるメソッド (値は名前を参照します)
次のようにコードをコピーします。
i = 1 の場合、Adodc1.Recordset.RecordCount へ
Adodc1.Recordset.EOF ではない場合
Combo1.AddItem Adodc1.Recordset.Fields("値").Value
Adodc1.Recordset.Movenext
終了の場合
次は私
このコードで引用されている作者は ydl890406 です。私が VB グループでこれを書いていたとき、私はそれを借用するように頼まれました。その後、y 先生が何度か修正した後、まだエラーが残っていることがわかりました。これは後者のコードを書き直しただけです。月日はあっという間に過ぎ、VBグループも解散してしまいました。その後、何らかの理由で、多くのチュートリアルでこのコードが使用されるようになりました。
2 番目の部分は AOD コード接続です。2 番目の部分には Recordset オブジェクトと Connection オブジェクトが含まれるため、自分で学習して自分で作成できます。
Recordset オブジェクトと Connection オブジェクトとは何ですか? Connection オブジェクトはデータ ソースへの接続であり、Recordset オブジェクトは操作データです。
Microsoft ADO Data Control 6.0 (SP6) (OLEDB) コンポーネントを探しています
VB は ADO を使用して SQL Server データベースに接続します
'データ ソース情報定数 Public Const conn As String = "Provider = SQLOLEDB.1;Password = sa; UserID = sa; Initial Catalog = StudentFiles; Data Source = localhost" Public Const CONNECT_LOOP_MAX = 10 '接続操作を 1 回実行すると、データベースにアクセスする回数Private IsConnect As Boolean 'データベースが接続されているかどうかをマークPrivate Connect_Num As Integer ' Connect() 関数の実行後にデータがアクセスされた回数をマークしますPrivate cnn As ADDODB.Connection 'データベースに接続するオブジェクトを接続しますPrivate re As ADDODB.Recordset '結果セットを保存するレコードセット オブジェクト //データベースに接続Private Sub Connect () '接続マークが true の場合、リターンします。 IF IsConnect = True then Exit Sub End If Set cnn = New ADODB.Connection 'キー new は新しいオブジェクトの作成に使用されます cnn cnn.ConnectionString = conn cnn.Open '接続のステータスを決定しますIf cnn.State <> adStateOpen then MsgBox 「データベース接続エラー」 End End If 'データベースに接続されていることを示す接続 ID を設定します IsConnect = TrueEnd Sub' データベースとの接続を切断します Private Sub DisConnect() Dim rc As Long If IsConnect = False then Exit Sub End If '接続を閉じます cnn.Close 'cnnを解放します Set cnn = Nothing IsConnect = FalseEnd Sub'Connect_Numを使用してデータ接続を制御します Public Sub DB_Connect() Connect_Num = Connect_Num + 1 ConnectEnd Sub'Connect_Numを使用してデータを制御します切断 Public Sub DB_Disconnect ()If Connect_Num >= CONNECT_LOOP_MAX then Connect_Num = 0 切断 End If End Sub'API モードを強制的に閉じてロシア語データベースにアクセスし、カウンタをリセットします。 Public Sub DBapi_Disconnect() Connect_Num = 0 DisconnectEnd Sub'データベース操作言語を実行します'byvalこれはパラメータの値によって渡され、パラメータは転送プロセス中に変更されません (つまり、パラメータ値はアドレスの代わりにプロセスに渡されます。これにより、プロセスは変数のコピーにアクセスできるようになり、プロセスは変数の値を変更できません); これに対応するのは byref で、パラメータのアドレスに従って値を渡すことは省略できます。 .Command 'コマンドオブジェクトの作成 cmd DB_Connect 'データベースに接続します Set cmd.ActiveConnection = cnn 'cmd の ActiveConnect 属性を設定し、それに関連付けられたデータベース接続を指定します cmd.CommandText = TmpSQLstmt '実行するコマンド テキストを設定します'MsgBox TmpSQLstmt cmd.Execute 'コマンドを実行します Set cmd = Nothing DB_DisConnect '切断 データベースとの接続をオープン End Sub'データベースクエリステートメントを実行 Public Function QueryExt(ByVal TmpSQLstmt As String ) As ADODB.Recordset Dim rst As New ADODB.Recordset 'Rescordset オブジェクトを作成します rst DB_Connect 'データベースに接続します Set rst.ActiveConnection = cnn 'rst の ActiveConnection プロパティを設定し、それに関連するデータベースへの接続を指定します rst.CursorType = adOpenDynamic 'カーソルの種類を最初に設定します。 LockType = adLockOptimistic 'ロックの種類を最初に設定します。TmpSQLstmt 'レコードセットを開きます Set QueryExt = rst 'recordsetEnd 関数を返します