Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular mit ADODB Recordset aktualisieren

Begonnen von datekk, Januar 23, 2017, 16:10:26

⏪ vorheriges - nächstes ⏩

PhilS

Zitat von: datekk am Januar 25, 2017, 09:28:14Datentyp im SQL ist Date. Ich nehme an, das Steuerelement liefert DateTime.
Der Date-Datentyp ist relativ neu im SQL-Server. Ältere Treiber kennen den Datentyp nicht und übermittelt die Daten als Text. Ich würde besser DateTime als Datentyp verwenden. Mit neueren Treibern sollte aber auch Date funktionieren. - Dazu kann ich aber mangels eigener Erfahrungen keine genaueren Informationen liefern.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

datekk

#16
Hallo an Alle,

ich muss das Thema nochmal rauskramen. Ich habe immer noch keine Lösung für ein ungebundenes Formular, welches seine Daten aus deinem ADO -  Recordset beziehen soll. Zur Erinnerung: Das Formular holt seine Daten nicht aus EINER Tabelle, sondern aus einer SELECT Anweisung mit verknüpften Tabellen.

Ich kann das Formular nicht allein aus der Tabelle mit Daten füllen, da es so nicht leserlich wäre.

Hier wurde ja auch schon was mit der Unique Table Eigenschaft und Resync gepostet. Vielleicht kann mir hier jemand nochmal weiterhelfen. Die Beispiele die ich online finde, beziehen sich nicht auf ein ADO Recordset als Grundlage eines (Endlos)Formulars.

msql = "SELECT tblEins.*, tblZwei.* From tblEins INNER JOIN tblZwei ON tblEins.ID = tblZwei.RefId"



With rs
    .Source = msql
    .ActiveConnection = con
    .CursorType = adOpenKeyset
    .LockType = adLockOptimistic
    .Properties("Unique Table") = "tblEins"
    .Properties("Resync Commanc") = "Select * From (" & msql & ") Where tblEins.Id = ?"
    .Open
End With



Hier komme ich nicht weiter. Das Formular lässt sich nach wie vor nicht bearbeiten. Wo sind die ADO Profis hier im Forum?  ;)
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

MzKlMu

Hallo,
Zitatsondern aus einer SELECT Anweisung mit verknüpften Tabellen.
das ist kein Grund ein ungebundenes Formular zu verwenden.
Abfragen mit INNER JOIN können fast immer auch in gebunden Formularen verwendet werden.
Gruß Klaus

datekk

Meine Tabellen liegen aber auf einem SQL Server und ich möchte keine Tabellen in Access einbinden. Es soll alles nur noch über ADO Recordsets laufen.

Damit kann ich das Form nicht binden.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps


datekk

Hallo DF6GL,

das Problem ist, dass meine Abfrage nicht altualisierbar ist per ADO. Siehe Beispiel. Ich würde sie aber gern aktualisierbar haben.

Der genannte Code läuft nur, wenn die Datenquelle eine Tabelle ist.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

DF6GL

Hallo,

Zitatmeine Abfrage nicht altualisierbar ist


naja, dann muss eben genau dies geändert werden...  Wenn die Abf. nicht aktualisierbar ist, dann kann irgendein Recordset darauf auch nichts ausrichten..

PhilS

Zitat von: datekk am Mai 12, 2017, 18:23:08Hier wurde ja auch schon was mit der Unique Table Eigenschaft und Resync gepostet.
UniqueTable und ResyncCommand sind Eigenschaften des Formulars.

Deine Abfrage muss aber für sich genommen mit den gewünschten Änderungen aktualisierbar sein. Wenn sie das nicht ist, helfen auch alle clientseitigen Einstellungen nichts.
Du kannst das Prüfen, indem du eine View mit deiner Abfrage erstellst und dann auf der SQL-Server-Seite das gewünschte UPDATE-Statement darauf ausführst. - Wenn das nicht möglich ist, musst du das SQL anders gestalten.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor