-
keine Wirkung?!?!
 Zitat von Fuerchau
Da muss ich Matz allerdings zustimmen.
ADO und DAO lassen sich nicht so verbinden.
DAO verwendet hierzu eine eigene Verbindung, das Verbinden auf ADO hat keine Auswirkung auf DAO.
Dies hat allerdings nichts mit dem Benutzernamen in der ADO-Verbindung zu tun, sondern beim Zugriff per DAO ist eine erneute Anmeldung erforderlich.
In deiner CurrentDB ist wahrscheinlich eine verknüpfte Tabelle, die einen eigenen Connection-String enthält (Eigenschaften der Tabelle).
Deine separate Anmeldung mittels ADO bringt also nichts, selbst wenn der Aufruf an sich funktioniert.
Hallo allerseits,
das hatte ich auch gedacht, daß Execute uaf Connection ausgeführt werden sollte und das habe ich auch gerade gemacht. Es wird zwar keine Fehlermeldung beim ausführen von
Code:
conn.Execute SQLStr
ausgegeben, aber es werden auch keine Änderungen in der DB2-Datenbank vorgenommen - sprich es werden keine neue Datensätze eingefügt
Code:
Insert Into Bibliothek.Tabelle Values ('Otto Müller', '040101', '041231', 'Summe der Fehlzeiten');
DELETE-Anweisung geht überhaupt nicht, weder wenn ich currentdb.execute nehme noch wenn ich conn.execute nehme.
Woran kann es denn noch liegen??
Danke nochmal
Gruß
Otto
-
Jetzt gehts !!
Hallo nochmal,
den Fehler konnte ich lokalisieren und zwar lag es an das Semikolon am Ende von INSERT und DELETE
Vielen Dank für die SUPER-Hilfe.
Viele Grüße
Otto
-
Wenn du über CurrentDB auf die Tabellen zugreifst, wird die Access-Syntax von SQL verwendet, die nach einer Übersetzung in die ODBC-Syntax an den Treiber weitergegeben wird.
Wenn du direkt über das Connection-Objekt zugreifst, wird direkt die AS/400-Syntax verwendet, dies entspricht in Access einem SQL-Passthru.
Wenn du mit ADO statt DAO arbeitest, ändern sich ein paar Kleinigkeiten:
DAO.Database => ADODB.Connection
DAO.QueryDef => ADODB.Command
Recordset, Parameter und Field-Objekte gibt es weiterhin mit ein paar erweiterten bzw. geänderten Eigenschaften.
Bei wiederholten SQL-Statements mit verschiedenen Werten lohnen sich "Parameter":
dim myCnn as new ADODB.Connection
dim myCmd as new ADODB.Command
with myCmd
.Commandtext = "Insert Into Bibliothek.Tabelle Values (?, ?, ?, ?)"
.Prepared = true
set .ActiveConnection = myCnn
.execute , Array('Otto Müller', '040101', '041231', 'Summe der Fehlzeiten'), adExecuteNorecords
end with
Mit dem Array() wird der 1. Wert dem 1. Fragezeichen zugeordnet, der 2. Wert dem 2. Fragezeichen und so weiter.
Der große Vorteil liegt in der Vereinfachung der Verwendung, da der SQL-Befehl nicht immer neu zusammengesetzt werden muss (Dezimalpunkt/-komma, Hochkomma in Zeichenfolgen, usw.).
-
Danke!
Hallo,
vielen Dank für die detailierte Hilfe. Das hat mich sehr voran gebracht.
Ich werde den letzten Ansatz auch probieren und melde mich dann.
Gruß
Otto
Similar Threads
-
By Armin in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-09-06, 11:18
-
By guru30 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 20-12-05, 09:26
-
By Rico in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 03-05-05, 17:16
-
By Spoldo in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 11-03-05, 12:09
-
By Unregistriert in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 14-01-05, 08:57
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks