Heim > Themen > Access > Hauptteil

So verwenden Sie die ADO-Technologie zum Betreiben einer Access-Datenbank

王林
Freigeben: 2020-11-17 16:22:29
nach vorne
4026 Leute haben es durchsucht

So verwenden Sie die ADO-Technologie zum Betreiben einer Access-Datenbank

Stellen wir zunächst das ADO-Objekt vor:

1. Das in Access eingebettete VBA ist derzeit die gängige Datenzugriffstechnologie von Microsoft Objektmodell umfasst: Verbindung, Recordset, Datensatz, Befehl, Parameter, Feld, Eigenschaft, Stream, Fehler neun Objekte;

Access-Datenbank-Tutorial

3. Einführung in die wichtigsten ADO-Objekte: 1) Verbindung Objekt: ADO Das Objekt der höchsten Ebene im Objektmodell, das verwendet wird, um die Verbindung zwischen der Anwendung und der Datenquelle zu realisieren

2) Befehlsobjekt: Verwenden Sie hauptsächlich SQL-Anweisungen in VBA, um auf Daten in der Datenbank zuzugreifen, diese abzufragen und zu ändern Um Operationen auszuführen, die mit dem Recordset-Objekt nicht erreicht werden können (Operationen auf Datentabellenebene), können Sie stattdessen DoCmd verwenden.

3) Recordset-Objekt: Das am häufigsten verwendete und wichtigste Objekt in ADO, das auf Tabellen zugreifen und Objekte abfragen kann Datensätze werden im Recordset-Objekt gespeichert.

①Daten in der Datentabelle hinzufügen;

④Bestimmte Daten in den Daten löschen Tabelle;

Referenzieren Sie das ADO-Objekt in Access

1. Schritte für den Zugriff auf ADO:

① Deklarieren und initialisieren Sie das Connection-Objekt;

③ Schließen Sie das ADO Objekt;

2. Deklarieren und initialisieren Sie das Verbindungsobjekt: Verwenden Sie im Allgemeinen cn als Namenspräfix der Variablen;

Dim coName As ADODB.Connection
Nach dem Login kopieren

' initialisieren Sie das Verbindungsobjekt und stellen Sie eine Verbindung zur aktuellen Datenbank her . Deklarieren und öffnen Sie das Recordset-Objekt

1) Deklarieren und initialisieren Sie das Recordset-Objekt

Set cnName = CurrentProject.Connection
Nach dem Login kopieren

2) Öffnen Sie ein Recordset-Objekt

Verwenden Sie die Open-Methode von Recordset, um eine Datentabelle oder ein Abfrageobjekt zu öffnen oder direkt auf eine SQL-Abfrageanweisung zu verweisen

Dim rsName As ADODB.Recoreset
set rsName = new ADODB.Recordset
Nach dem Login kopieren

4. Recordset- und Verbindungsobjekte schließen

rsName.Open source, ActiveConnection, CursorType,LockType,Option
Nach dem Login kopieren

Referenzdatensatzfelder über das Recordset-Objekt

1 Es gibt zwei Möglichkeiten, auf Felder zu verweisen: direkt auf den Feldnamen im Recordset-Objekt verweisen; ) Attributreferenz des Recordset-Objekts;

rsName.Close
cnName.Close
Set rsName = Nothing
Set cnName = Nothing
Nach dem Login kopieren

' bezieht sich auf den ersten Datensatz des Feldes

Code = rsName!字段名
Nach dem Login kopieren

' bezieht sich auf den n-ten Datensatz des Feldes, n beginnt bei 0, Sie können eine Schleife verwenden, um die erforderliche Anzahl von Datensätzen auszugeben

2. Wenn das Recordset-Feld Leerzeichen enthält oder ein reserviertes Wort ist, muss das Feld in Anführungszeichen gesetzt werden.

Durchsuchen Sie Datensätze über das Recordset-Objekt. So verwenden Sie die ADO-Technologie zum Betreiben einer Access-Datenbank

2. Die Attribute BOF und EOF zeichnen auf, ob sich der Zeiger am Anfang und am Ende der Datei befindet.

Wenn der Datensatzzeiger auf einen bestimmten Datensatz zeigt, sind sowohl BOF als auch EOF falsch 'Fügen Sie ein Schaltflächenereignis des Formularteils hinzu: Navigieren Sie zum nächsten Datensatz die AddNew-Methode zum Hinzufügen von Datensätzen

1) Rufen Sie die Datensatzsatz-AddNew-Methode auf, um einen leeren Datensatz zu generieren

2) Weisen Sie jedem Feld des leeren Datensatzes Werte zu;

3) Verwenden Sie die Datensatzsatz-Update-Methode zum Aktualisieren und Verwalten Neuer Datensatz;

'Schaltflächenereignis „Datensatz hinzufügen“, vorausgesetzt, der rsDemo-Datensatz enthält die Felder Id(int), Name(String), Age(int)

Code = rsName .Field(n)
Nach dem Login kopieren

2. Verwenden Sie die Update-Methode, um den Datensatz zu ändern

1) Suchen und zeichnen Sie den Datensatz auf. Bewegen Sie den Zeiger auf den Datensatz, der geändert werden muss. So verwenden Sie die ADO-Technologie zum Betreiben einer Access-Datenbank

2) Ändern Sie die Werte jedes Felds im Datensatz.

3) Verwenden Sie die Methode „Aktualisieren“ des Datensatzes, um den neuen Datensatz zu aktualisieren und beizubehalten ;

'Ändern Sie alle Werte des Feldes Alter im Datensatz +1 ;

Priavte Sub ComomndNext_Click()
     rsDemo.MoveNext
     If rsDemo。EOF Then
          rsDemo.MoveFirst
     End If
End Sub
Nach dem Login kopieren

3. Verwenden Sie die Löschmethode, um Datensätze zu löschen.

1) Bewegen Sie den Datensatzzeiger auf den Datensatz, der gelöscht werden muss.

So verwenden Sie die ADO-Technologie zum Betreiben einer Access-Datenbank2) Verwenden Sie die Methode „Delete“, um den aktuellen Datensatz zu löschen.

3) Legen Sie einen Datensatz als aktuellen Datensatz fest.

Private Sub CommandAdd_Click()
     rsDemo.MoveLast  '记录集指针移动到记录集最后
     rsDemo.AddNew  '添加一条新纪录   
     rsDemo ! Id = "123"
     rsDemo ! Name = "assad"
     rsDemo ! Age = "18" 
     rsDemo.Update
End Sub
Nach dem Login kopieren

Hinweis: Nachdem ein Datensatz gelöscht wurde, macht Access den nächsten Datensatz nicht automatisch zum aktuellen Datensatz Gleichzeitig müssen Sie die MoveNext-Methode verwenden, um den Recordset-Zeiger auf den letzten Datensatz zu positionieren.

Verwenden Sie SQL-Befehle über das Command/DoCmd-Objekt.

Access stellt das DoCmd-Objekt bereit, und seine RunSOL-Methode kann SQL-Befehle in VBA verwenden

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
Nach dem Login kopieren

oder:

'删除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
Nach dem Login kopieren

1. Daten definieren

1) Erstellen Sie eine Datentabelle

Format: Tabellennamen erstellen (Feldname Datentyp...)

Zum Beispiel: DoCmd.RunSQL „Tabelle erstellen Graduiertenstudent ( Namenstext(6), Altersbyte, Aufnahmedatum)"

2) Feld hinzufügen

Format: Tabelle ändern Tabellenname Feldname hinzufügen Datentyp

如: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 & "')"
Nach dem Login kopieren

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('教授','副教授')"
Nach dem Login kopieren

操作.....

   rsTeacher.Close
   Docmd.runSQL "Drop Table temp"
Nach dem Login kopieren

2)将返回的记录集看成保存在内存中的一个临时表,用ADO记录集对象直接打开该查询指令;

访问当前数据库以外的数据库

1、Access提供了Connection.Open方法以连接另一个数据库

2、格式: Connection对象.Open "Provider=提供者;Date Source=数据库名;User ID=用户;PassWord=密码"

3、其中提供者为 Microsoft.Jet.OLEDDB.4.0;数据库名包括 数据库所在的路径(包括.mdb文件名)。

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die ADO-Technologie zum Betreiben einer Access-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!