Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access 2016 ODBC-Aufruf fehlgeschlagen

Begonnen von ChickenWing, September 08, 2016, 11:30:53

⏪ vorheriges - nächstes ⏩

ChickenWing

Hallo ihr Lieben,

bin noch ganz frisch hier, hoffe ich verlange nicht zu viel... Auch in Access bin ich noch nicht sonderlich lange unterwegs. Ich verstehe SQL, VBA etc. im ganz Groben, kann es aber selbst nicht schreiben.

Was ich probiere zu erstellen:

Ich ziehe mir Daten als Verknüpfung über eine ODBC-Schnittstelle. Das klappt Soweit auch gut. Darüber möchte ich eine Abfrage laufen lassen die mir die Möglichkeit gibt die Kriterien zu ändern. Sprich ich möchte eine "Kostenstelle" eingeben und die Abfrage soll mir die entsprechenden Datensätze anzeigen.

Verknüpftetabelle: Inx_be_buchungfolge

SELECT Inx_be_buchungfolge.nr_kst_ktr_aper_folge, "und noch viele weitere genau so"
FROM Inx_be_buchungfolge
Where (((Inx_be_buchungfolge.nr_kst_ktr_aper_folge)=[Kst angeben])));


Das ganze soll später über ein Textfeld in einem Formular laufen.
Ich habe das ganze auch schonmal am laufen gehabt mit einer anderen verknüpften Tabelle.
Das genaue Problem: Wenn ich die Abfrage starte passiert folgendes:

Popupfeld: Parameterwert eingeben
                Kst angeben
                "                   "

Nach Eingabe einer Kst und bestätigen durch OK kommt diese Meldung:

ODBC-Aufruf fehlgeschlagen    OK/Hilfe


Ich kann die Tabelle, bevor ich versuche die Abfrage zu machen, öffnen. Er fragt mich brav nach dem Passwort etc. und öffnet diese. Wenn ich einmal probiere die Abfrage auszuführen kommt auch beim öffnen der Tabelle die Fehlermeldung mit dem Zusatz "Network error (#0)".

Wenn ich Access schließe und wieder öffne klappt es wieder, bis ich probiere die Abfrage auszuführen. Habe ich einen Fehler
gemacht oder liegt es tatsächlich an meiner verknüpften Tabelle(was mich wundern würde da sie mit der Tabelle mit der ich vorher gearbeitet habe fast identisch ist bis auf ein paar Spalten mehr) oder hängt es irgendwo anders...?

Ich arbeite mit Access 2016 auf Win 7.


Schonmal vielen Dank an alle die sich hierdrüber Gedanken machen. Ich hoffe ich habe nichts wichtiges vergessen

Liebe Grüße
ChickenWing

----------------------
Mit freundlichen Grüßen

Max

PhilS

Was ist das für ein Datenbanksystem, in dem die eigentliche Tabelle gespeichert ist?

Hast du schon probiert, ob das Problem auch auftritt, wenn du keine Parameterabfrage erstellst, sondern eine Kostenstelle fest in der Abfrage als Kriterium definierst?

Für mich sieht die Situation so aus, als würde die Abfrage einen schwerwiegenden Fehler in dem Backend-System auslösen, der dann auch bewirkt, dass die Verbindung getrennt wird. - Einen Grund für den Fehler sehe ich allerdings noch nicht.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ChickenWing

Danke für die Antwort. :)

Ich kann es dir leider nicht sagen... Ich habe nächste Woche einen Termin mit den Informatikern hier, aber die ganze Sache müsste morgen fertig werden... Aber wenn es nicht klappt ist es halt so, wird kein Beinbruch sein.

Wenn ich einen festen Wert nehme also beispielsweise =12345678 funktioniert es ohne zu murren.

Was mich am meisten irritiert ist, dass es mit einer anderen Tabelle aus der selben DB aus der ich mir die Sachen ziehe klappt. Aber evtl. ist da eine Kleinigkeit anders und die verbaut mir die Möglichkeit.  Dazu kann ich aber momentan nichts sagen.

Nur um den Umfang mal erwähnt zu haben, es handelt sich um weit über 5.000.000 Datensätze die 16 spalten haben. Die andere Tabelle hatte die selbe Anzahl an Datensätzen, diese waren aber kleiner(etwa 6 Spalten). Kann das was damit zu tun haben? Auch Access hat ja seine Limits.
Kann ich bei einem festen Import mit ODBC-Treibern sagen er soll mir nur 2016 ziehen? Wäre vlt. ein ganz guter Test. Wenn ich alles ziehe weint Access und ich kann bis heute Nachmittag nichts anderes mehr bearbeiten, falls mein Laptop die ganze Sache überlebt :D
----------------------
Mit freundlichen Grüßen

Max

PhilS

Welches DBMS-System das Backend ist, kannst du üblicherweise an dem verwendeten Treiber in den Einstellungen der ODBC-Datenquellen erkennen.

Zitat von: ChickenWing am September 08, 2016, 12:00:31Was mich am meisten irritiert ist, dass es mit einer anderen Tabelle aus der selben DB aus der ich mir die Sachen ziehe klappt. Aber evtl. ist da eine Kleinigkeit anders und die verbaut mir die Möglichkeit. 
Welche Datentypen haben diese beiden Spalten in ihren jeweiligen Tabellen, wenn du diese in der Entwurfsansicht öffnest? Sie sollten eigentlich für beide Tabellen gleich sein.

Interessant wäre es auch zu wissen, wie die Datentypen in den eigentlichen Backend-Tabellen definiert sind.

Zitat von: ChickenWing am September 08, 2016, 12:00:31
Nur um den Umfang mal erwähnt zu haben, es handelt sich um weit über 5.000.000 Datensätze die 16 spalten haben. Die andere Tabelle hatte die selbe Anzahl an Datensätzen, diese waren aber kleiner(etwa 6 Spalten).
Da Access diese Daten nicht selbst speichert und du (hoffentlich!?) mit deiner Abfrage auch nur einen kleinen Teil davon in Access anzeigst, sollte das kein Problem sein.

Zitat von: ChickenWing am September 08, 2016, 12:00:31Kann ich bei einem festen Import mit ODBC-Treibern sagen er soll mir nur 2016 ziehen?
Nein, das ist beim direkten Import nicht möglich. Dafür bräuchtest du backend-seitig eine View, die die Daten bereits entsprechend filtert. Oder du verknüpfst die ganze Tabelle und "importierst" die Daten mit einer Anfügeabfrage nach Access.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ChickenWing

Zitat von: PhilS am September 08, 2016, 12:17:01
Welches DBMS-System das Backend ist, kannst du üblicherweise an dem verwendeten Treiber in den Einstellungen der ODBC-Datenquellen erkennen.

Wie komme ich da dran? Bin noch recht neu hier in der Firma, hatte vorher leider nichts damit zu tun...

Zitat von: PhilS am September 08, 2016, 12:17:01
Welche Datentypen haben diese beiden Spalten in ihren jeweiligen Tabellen, wenn du diese in der Entwurfsansicht öffnest? Sie sollten eigentlich für beide Tabellen gleich sein.

Felddatentypen sind identisch, habe es eben abgeglichen. Mit der Backendtabelle... Wie gesagt, da müsste ich auf die Kollegen aus der Informatik warten. Notfalls geht das.


Zitat von: PhilS am September 08, 2016, 12:17:01
Da Access diese Daten nicht selbst speichert und du (hoffentlich!?) mit deiner Abfrage auch nur einen kleinen Teil davon in Access anzeigst, sollte das kein Problem sein.

Hab per Tabellenerstellungsabfrage eben mal ein Jahr gezogen. Das ging ohne Probleme. Überlege ob ich nicht selbst eine Art Backend aufbaue. Einmal die Tabelle ziehen(aber erst ab dem Jahr wo es benötigt wird) und nur die Datensätze die ich brauche. Kann die Sache von 20 Jahre vermutlich auf 10 Jahre verkleinern + nochmal 25% weg durch Datensätze die ich rausfiltern kann mit einem Kriterium. Das alles dann immer brav per anfüge Abfragen aktuell halten. Lege das backen Serverseitig ab. Lasse es irgendwie nachts aktualisieren und die Nutzer bekommen nur ein Frontend mit einem Formular mit Suchzeile und einem Unterformular für die Ausgabe. Das ganze mit einem Nutzerfreundlichen Knopf für einen Excel Export.
Wäre zwar Datenbankmäßig nicht sonderlich sinnvoll die Sachen doppelt, also einmal in meinem BE + in dem DBMS abgelegt zu haben, aber ich denke ich muss mal Praktikabilität vor DB-Theorie stellen.
----------------------
Mit freundlichen Grüßen

Max