How to use ADO technology to operate access database
First of all, let’s introduce the ADO object:
1. The VBA embedded in Access is the main tool for developing database applications using ADO technology. ADO is currently common to Microsoft Data access technology;
2. ADO object model includes nine objects: Connection, Recordset, Record, Command, Parameter, Field, Property, Stream, and Error;
Related recommendations: access database tutorial
3. Introduction to the main ADO objects:
1) Connection object: the highest-level object in the ADO object model, used to realize the connection between the application and the data source ;
2) Command object: Mainly use SQL statements in VBA to access, query and modify data in the database, to achieve operations that cannot be achieved by the Recordset object (data table level operations), you can use DoCmd instead;
3) Recordset object: the most commonly used and important object in ADO, which can access tables and query objects. The returned records are stored in the Recordset object. The main operations are:
① Query the data table The data in the data table;
②Add data in the data table;
③Update the data in the data table;
④Delete specific data in the data table;
Referencing ADO objects in Access
1. Steps for Access to reference ADO:
①Declare and initialize the Connection object;
②Create the Recordset object and complete the programming An operation;
③Close the ADO object;
2. Declare and initialize the Connection object
'Declare the Connection object: generally use cn as the naming prefix of the variable;
Dim coName As ADODB.Connection
'Initialize the Connection object and connect to the current database;
Set cnName = CurrentProject.Connection
3. Declare and open the Recordset object
1) Declare and initialize the Recordset object
Dim rsName As ADODB.Recoreset set rsName = new ADODB.Recordset
2) Open a Recordset object
Use the Open method of Recordset to open a data table, query object, or directly reference the SQL query statement
rsName.Open source, ActiveConnection, CursorType,LockType,Option
4. Close the Recordset and Connection object
rsName.Close cnName.Close Set rsName = Nothing Set cnName = Nothing
Reference record fields through Recordset object
1. There are two ways to reference fields: directly refer to the field name in the recordset object; use Fields(n) of the recordset object Attribute reference;
Code = rsName!字段名
'references the first record of this field
Code = rsName .Field(n)
'references the nth record of this field, n starts from 0, you can use a loop to output the required number of records
2. If the recordset field contains spaces or is a reserved word, the field must be enclosed in [ ] when quoting;
Browse records through the Recordset object
1. The Recordset record set object provides 4 methods to browse records
2. The BOF and EOF attributes respectively record whether the pointer is at the beginning and end of the file;
If the recordset pointer points to a record, both BOF and EOF are false;
'Add a button event of the form component: browse to the next record
Priavte Sub ComomndNext_Click() rsDemo.MoveNext If rsDemo。EOF Then rsDemo.MoveFirst End If End Sub
3. LockType of the Recordset object The attribute defaults to adLockReadOnly (read-only)
Edit data through the Recordset object
1, add records using the AddNew method
1) Call The AddNew method of the record set generates an empty record
2) Assign values to each field of the empty record;
3) Use the record set Update method to update and maintain new records;
' Add a record button event, assuming that the rsDemo record set has fields Id(int), Name(String), Age(int)
Private Sub CommandAdd_Click() rsDemo.MoveLast '记录集指针移动到记录集最后 rsDemo.AddNew '添加一条新纪录 rsDemo ! Id = "123" rsDemo ! Name = "assad" rsDemo ! Age = "18" rsDemo.Update End Sub
2. Use the Update method to modify the record
1) Find and Move the recordset pointer to the record that needs to be modified;
2) Modify the values of each field in the record;
3) Use the recordset Update method to update and maintain new records;
'Modify all values 1 of the Age field in the record set;
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
3. Use the Delete method to delete records
1) Move the record set pointer to the record that needs to be deleted;
2) Use the Delete method to delete the current record;
3) Designate a record as the current record
'删除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
Note: After a record is deleted, Access will not automatically download it. When a record becomes the current record, use the MoveNext method to locate the record set pointer to the last record;
Use SQL commands through the Command/DoCmd object
Access provides the DoCmd object, which RunSOL method can use SQL commands in VBA;
DoCmd.RunSQL "SQL命令"
or:
Dim s AS String s = "SQL命令" DoCmd.RunSQL s
1. Define data
1) Create data table
Format: Create Table table name (field name data type...)
For example: DoCmd.RunSQL "Create Table graduate student (name text(6), age byte, admission date date)"
2) Add field
Format: Alter Table table name Add field name data type
如: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文件名)。
The above is the detailed content of How to use ADO technology to operate access database. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



DeepSeek cannot convert files directly to PDF. Depending on the file type, you can use different methods: Common documents (Word, Excel, PowerPoint): Use Microsoft Office, LibreOffice and other software to export as PDF. Image: Save as PDF using image viewer or image processing software. Web pages: Use the browser's "Print into PDF" function or the dedicated web page to PDF tool. Uncommon formats: Find the right converter and convert it to PDF. It is crucial to choose the right tools and develop a plan based on the actual situation.

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

JSON data can be saved into a MySQL database by using the gjson library or the json.Unmarshal function. The gjson library provides convenience methods to parse JSON fields, and the json.Unmarshal function requires a target type pointer to unmarshal JSON data. Both methods require preparing SQL statements and performing insert operations to persist the data into the database.

Solve the problem of third-party interface returning 403 in Node.js environment. When we use Node.js to call third-party interfaces, we sometimes encounter an error of 403 from the interface returning 403...

To avoid PHP database connection errors, follow best practices: check for connection errors and match variable names with credentials. Use secure storage or environment variables to avoid hardcoding credentials. Close the connection after use to prevent SQL injection and use prepared statements or bound parameters.

The impact of sharing of Redis connections in Laravel framework and select methods When using Laravel framework and Redis, developers may encounter a problem: through configuration...

How to avoid the third-party interface returning 403 error in the Node environment. When calling the third-party website interface using Node.js, you sometimes encounter the problem of returning 403 error. �...

The advantage of multithreading is that it can improve performance and resource utilization, especially for processing large amounts of data or performing time-consuming operations. It allows multiple tasks to be performed simultaneously, improving efficiency. However, too many threads can lead to performance degradation, so you need to carefully select the number of threads based on the number of CPU cores and task characteristics. In addition, multi-threaded programming involves challenges such as deadlock and race conditions, which need to be solved using synchronization mechanisms, and requires solid knowledge of concurrent programming, weighing the pros and cons and using them with caution.
