ADO技術を利用してアクセスデータベースを操作する方法
まず、ADO オブジェクトを紹介します:
1. Access に埋め込まれた VBA は、ADO テクノロジを使用してデータベース アプリケーションを開発するための主要なツールです。ADO は現在、 Microsoft データ アクセス テクノロジに共通;
2. ADO オブジェクト モデルには、接続、レコードセット、レコード、コマンド、パラメーター、フィールド、プロパティ、ストリーム、エラーの 9 つのオブジェクトが含まれます;
関連する推奨事項: アクセス データベース チュートリアル
3. 主要な ADO オブジェクトの紹介:
1) 接続オブジェクト: ADO オブジェクト モデルの最上位オブジェクトであり、アプリケーションとデータ ソース間の接続 ;
2) コマンド オブジェクト: 主に VBA の SQL ステートメントを使用して、データベース内のデータにアクセス、クエリ、変更し、Recordset オブジェクト (データ) では実現できない操作を実現します。テーブル レベルの操作)、代わりに DoCmd を使用できます。
3) Recordset オブジェクト: ADO で最も一般的に使用される重要なオブジェクトで、テーブルにアクセスしてオブジェクトをクエリできます。返されたレコードは Recordset オブジェクトに格納されます。主な操作は次のとおりです。
① データ テーブルのクエリ データ テーブルのデータ;
②データ テーブルのデータの追加;
③データ テーブルのデータを更新します。
④データ テーブル内の特定のデータを削除します;
Access での ADO オブジェクトの参照
1. Access が ADO を参照する手順:
①ADO を宣言して初期化します。 Connection オブジェクト;
②Recordset オブジェクトを作成し、プログラミング An 操作を完了します;
③ADO オブジェクトを閉じる;
2. Connection オブジェクトを宣言して初期化します
'Connection オブジェクトを宣言します: 通常、変数の命名プレフィックスとして cn を使用します;
Dim coName As ADODB.Connection
'Connection オブジェクトを初期化し、現在のデータベースに接続します;
Set cnName = CurrentProject.Connection
3. Recordset オブジェクト
1) Recordset オブジェクトを宣言して初期化する
Dim rsName As ADODB.Recoreset set rsName = new ADODB.Recordset
2) Recordset オブジェクトを開く
Recordset の Open メソッドを使用して、データ テーブル、クエリ オブジェクト、または、SQL クエリ ステートメントを直接参照します
rsName.Open source, ActiveConnection, CursorType,LockType,Option
4. Recordset と Connection オブジェクトを閉じます
rsName.Close cnName.Close Set rsName = Nothing Set cnName = Nothing
Recordset オブジェクトを通じてレコード フィールドを参照します
1. フィールドを参照するには 2 つの方法があります: レコードセット オブジェクトのフィールド名を直接参照する; レコードセット オブジェクトの Fields(n) を使用する 属性参照;
Code = rsName!字段名
'このフィールドの最初のレコードを参照する
Code = rsName .Field(n)
' はこのフィールドの n 番目のレコードを参照します。n は 0 から始まり、ループを使用して必要な数のレコードを出力できます
2。レコードセット フィールドにスペースが含まれているか、予約語である場合、引用するときはフィールドを [ ] で囲む必要があります;
Recordset オブジェクトを通じてレコードを参照する
1. Recordset レコード セット オブジェクトには、レコードを参照するための 4 つのメソッドが用意されています
Priavte Sub ComomndNext_Click() rsDemo.MoveNext If rsDemo。EOF Then rsDemo.MoveFirst End If End Sub
Private Sub CommandAdd_Click() rsDemo.MoveLast '记录集指针移动到记录集最后 rsDemo.AddNew '添加一条新纪录 rsDemo ! Id = "123" rsDemo ! Name = "assad" rsDemo ! Age = "18" rsDemo.Update End Sub
Private Sub UpdateAge() rsDemo.MoveFirst Do Dim Code as Integer Code = rsDemo ! Age rsDemo ! Age = Code +1 Loop Until rsDemo.EOF rsDemo.Update End Sub
'删除rsDemo数据集中Age = "18" 的记录 Private Sub DeleteAge(Dim deleteAge as Integer) rsDemo.MoveFirst Do IF rsDemo ! Age == deleteAge Then rsDemo。Delete rsDemo。MoveNext End IF Loop Until rsDemo.EOF End Sub
#Access は DoCmd オブジェクトを提供し、RunSOL メソッドは VBA で SQL コマンドを使用できます;
DoCmd.RunSQL "SQL命令"
または:
Dim s AS String s = "SQL命令" DoCmd.RunSQL s
1データの定義
1) データ テーブルの作成
形式: Create Table テーブル名 (フィールド名 データ型...)
例: DoCmd.RunSQL "Create Table大学院生 (名前 text(6)、年齢バイト、入学日 date)"
2) フィールドを追加します
形式: Alter Table テーブル名 フィールド名のデータ型を追加します
如:DoCmd.RunSQL "Alter Table student Add 学费 currency"
3)改变字段类型
格式: Alter Table 表名 Alter 字段名 新数据类型
如:DoCmd.RunSQL "Alter Table student Alter 年龄 integer"
4)改变字段宽度
格式: Alter Table 表名 Alter 字段名 新宽度
如:DoCmd.RunSQL "Alter Table studnt Alter 姓名 text(6)"
5)删除一个字段
格式: Alter 表名 Drop 字段名
如: DoCmd.RunSQL "Alter student Drop 年龄"
6)删除一个数据表
格式: Drop Table 表名
如:DoCmd.RunSQL "Drop Table student"
7)修改数据表名字
格式: DoCmd.rename "新表名", acTable, "旧表名"
如:DoCmd.rename "学生", acTable, "student"
2、编辑数据
1)向表中追加数据
格式: Insert into 表名 Values(记录.....)
注: 字符串型数据用 ‘ ’, 日期型型数据可以 ‘ ’,或 # #;
如:DoCmd.RunSQL "Insert into student Values('李达',35,'2003-1-15') "
或:
Dim name As String Dim age As Byte, dates As Date name = InputBox("输入学生姓名") dates = InputBox("输入入学日期") ages = 17 DoCmd.RunSQL "Insert into student Values ('" & name & "'," & age & ",'" & dates & "')"
2)修改表中记录
格式: Update 表名 set 字段=数值 Where 限定条件
如:DoCmd.RunSQL "Update student set 年龄=20 Where 姓名='李达'"
3)删除待定记录
格式: Delete from 表名 where 限定条件
如: DoCmd.RunSQL "Delete from student where 姓名='李达'"
3、实现数据完整性约束
1)设置主键
格式: Alter Table 表名 Add Primary Key (字段名)
如:DoCmd.RunSQL "Alter Table 导师 Add Primary Key (导师编号)"
2)设置外键
格式: Alter Table 主表名 Add Foreign Key (字段名) References 从表名
如:DoCmd.RunSQL "Alter Table 研究生 Add Foreign Key (导师编号) References 导师"
4、执行查询操作
VBA程序中可以用SQL命令完成数据查询操作,但是无法直接将查询结果所返回的记录集按数据表的形式显示,解决方法有:
1)将查询结果的返回记录集生成一个新表保存在数据库中,然后用ADO记录集对象对这个表进行各种操作,完成后再删除这个表;
Docmd.runSQL "Select 姓名,职称,年龄 Into temp From 导师 Where 职称 in('教授','副教授')"
操作.....
rsTeacher.Close Docmd.runSQL "Drop Table temp"
2)将返回的记录集看成保存在内存中的一个临时表,用ADO记录集对象直接打开该查询指令;
访问当前数据库以外的数据库
1、Access提供了Connection.Open方法以连接另一个数据库
2、格式: Connection对象.Open "Provider=提供者;Date Source=数据库名;User ID=用户;PassWord=密码"
3、其中提供者为 Microsoft.Jet.OLEDDB.4.0;数据库名包括 数据库所在的路径(包括.mdb文件名)。
以上がADO技術を利用してアクセスデータベースを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









DeepSeekはファイルを直接PDFに変換できません。ファイルの種類に応じて、異なる方法を使用できます。一般的なドキュメント(Word、Excel、PowerPoint):Microsoft Office、Libreoffice、その他のソフトウェアを使用してPDFとしてエクスポートします。画像:画像ビューアまたは画像処理ソフトウェアを使用してPDFとして保存します。 Webページ:ブラウザの「Print into PDF」関数を使用するか、PDFツールに専用のWebページを使用します。 UNCOMMONフォーマット:適切なコンバーターを見つけて、PDFに変換します。適切なツールを選択し、実際の状況に基づいて計画を作成することが重要です。

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

JSON データは、gjson ライブラリまたは json.Unmarshal 関数を使用して MySQL データベースに保存できます。 gjson ライブラリは、JSON フィールドを解析するための便利なメソッドを提供します。json.Unmarshal 関数には、JSON データをアンマーシャリングするためのターゲット型ポインターが必要です。どちらの方法でも、SQL ステートメントを準備し、データをデータベースに永続化するために挿入操作を実行する必要があります。

node.js環境で403を返すサードパーティインターフェイスの問題を解決します。 node.jsを使用してサードパーティのインターフェイスを呼び出すと、403を返すインターフェイスから403のエラーが発生することがあります...

PHP データベース接続エラーを回避するには、接続エラーを確認し、変数名を資格情報と照合するというベスト プラクティスに従ってください。安全なストレージまたは環境変数を使用して、資格情報のハードコーディングを回避します。 SQL インジェクションを防止し、準備されたステートメントまたはバインドされたパラメーターを使用するために、使用後に接続を閉じます。

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。

ノード環境で403エラーを返すサードパーティのインターフェイスを回避する方法。 node.jsを使用してサードパーティのWebサイトインターフェイスを呼び出すと、403エラーを返す問題が発生することがあります。 �...

マルチスレッドの利点は、特に大量のデータを処理したり、時間のかかる操作を実行したりするために、パフォーマンスとリソースの使用率を改善できることです。複数のタスクを同時に実行できるようになり、効率が向上します。ただし、あまりにも多くのスレッドがパフォーマンスの劣化につながる可能性があるため、CPUコアの数とタスク特性に基づいてスレッドの数を慎重に選択する必要があります。さらに、マルチスレッドプログラミングには、同期メカニズムを使用して解決する必要があるデッドロックや人種条件などの課題が含まれ、同時プログラミングの確固たる知識が必要であり、長所と短所を比較検討し、それらを慎重に使用する必要があります。
