Neuigkeiten:

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

Mobiles Hauptmenü

Queries aus Access

Begonnen von MartinHan, April 27, 2024, 18:04:21

⏪ vorheriges - nächstes ⏩

MartinHan

Hallo,

ich mach meine ersten Gehversuche mit SQL Server 2022.
Fragen:

wenn ich ein Access Frontend nutzen möchte, wie gehe ich mit Abfragen um, entweder queries in Access oder Views auf dem Server?
Ich habe in Access eine Query exportiert, den SQL Srver ausgewählt, aber ich sehe sie dort nicht...wo ist sie hin? Wenn den Exportvorgang nochmal mache, sagt mir das System, das dieses Objekt schon da ist, nut wo ist sie hin?
Ich habe mit create view auf dem Server eine view erstellt und die sehe ich dann auch unter Sichten, kein Problem.

Wenn ich also views anstatt lokale Queries benutzen möchte, wie spreche ich die dann aus Access heraus an?

Danke für Hilfe
  •  

MartinHan

Hi,

die letzte Frage konnte ich selbst beantworten. Wenn man von Access aus als externe Datenquelle den SQL Server angibt und die Tabellen auswählt, die man verknüpfen will, erscheinen die Queries bei den Tabellen und man kann sie auswählen. Allerdings sind sie dann nicht in Access unter Abfragen, sondern unter Tabellen.
Wenn man strikte Namenskonventionen einhält und sie alle z.B. mit "qry" als Prefix benamst ist das ok, damit kann ich leben.
Auf dem Server habe ich sie allerdings immer noch nicht gefunden.
Langsam ernährt sich das...

Martin
  •  

MartinHan

Hallo,

in einem anderen Forum fand ich jetzt diesen Beitrag:

As a general rule when migrating to sql server, the select queries on the access client side SHOULD NOT be migrated to sql server. As you noted, ONLY select quires can be migrated, and worse is those views will become read only when linked. (Unless you select a PK during the migration process) After you migrate the data, and link to those tables, then ALL OF you existing Access queries will continue to work as before.

Damit hat sich mein Problem erledigt, ich bleibe also mit dem Abfragen auf dem Client.

Ich hoffe vielleicht jemanden, der ein vergleichbares Problem hat, geholfen zu haben.
  •  

PhilS

Zitat von: MartinHan am April 27, 2024, 18:04:21Ich habe in Access eine Query exportiert, den SQL Srver ausgewählt, aber ich sehe sie dort nicht...wo ist sie hin? Wenn den Exportvorgang nochmal mache, sagt mir das System, das dieses Objekt schon da ist, nut wo ist sie hin?
Wie hast du die Abfrage exportiert?
Wenn du einfach in Access die Abfrage markierst und dann "Export" -> "ODBC Datenbank" ausführst, werden die Daten aus der Abfrage exportiert; als Tabelle!


Zitat von: MartinHan am April 27, 2024, 22:56:53Damit hat sich mein Problem erledigt, ich bleibe also mit dem Abfragen auf dem Client.
Das funktioniert zwar technisch, ist aber aus Performancegründen kaum als universelle Lösung zu empfehlen.

Leseempfehlung:
Verknüpfte ODBC Tabellen – Mechanismen und Performance

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor
  •  

ebs17

Buchempfehlung: Access und SQL Server

Kurzbemerkung:
Zitatich bleibe also mit dem Abfragen auf dem Client
Wenn Du die viel höhere Leistungsfähigkeit des SQL Servers nicht nutzen willst, weil Du ihn nicht arbeiten lässt, verschenkst Du sehr viel, angefangen bei Lizenzgebühren.
Mit freundlichem Glück Auf!

Eberhard
  •  

MartinHan

Hallo,

ich bedanke mich für die Tipps.

Innerhalb von 3 Tagen lesen und fummeln habe ich jetzt eine lokale SQL Server Instanz errichtet, Dort dann die Daten aus der produktiven Umgebung von Access importiert.
Dann habe ich dort die Beziehungen erstellt (per Script).
Dann habe ich eine leere Access DB erstellt und dort die Tabellen von dem Server verknüpft. Dann die Formulare, Berichte, Module und Abfragen importiert...und siehe da, ich kann die Formulare öffnen und sehe Daten. Komischerweise haben sich die Schriftgrößen der Buttons verändert...aber das läßt sich ja schnell ändern. Dann hießen die Tabellen anderns, aus Kurs z.B. wurde dbo_kurs...Eine kleine sub hat das Thema auch gelöst.
Wenn ich euch richtig verstanden habe, sollte ich jetzt die Abfragen in Access in Views auf dem Server umwandeln.
Ich denke, das werde ich manuell machen und dabei prüfen, ob die jeweiligen Abfragen überhaupt nach gebraucht werden, ähnlich wie Kelleraufräumen.

Aber eine Frage habe ich doch noch:
Auf dem Server habe ich die foreignkey beziehungen definiert, muss ich das jetzt in Access auch machen? Und was würde passieren, wenn ich das nicht machen würde?

Nochmal danke für Hilfe und das Buch werde ich mir zulegen.

Martin
  •  

PhilS

Zitat von: MartinHan am April 28, 2024, 15:15:48Wenn ich euch richtig verstanden habe, sollte ich jetzt die Abfragen in Access in Views auf dem Server umwandeln.
Nicht zwingend alle Abfragen. Einfache Abfrage auf nur eine Tabelle können i.d.R. ohne Nachteile als Access-Abfragen bestehen bleiben. Komplexe Abfragen mit Outer Joins über 3 oder mehr Tabellen, sollten möglichst als Views auf dem SQL Server erstellt werden. Dazwischen ist eine Grauzone, in der du Aufwand und Nutzen abwägen solltest.

Zitat von: MartinHan am April 28, 2024, 15:15:48Auf dem Server habe ich die foreignkey beziehungen definiert, muss ich das jetzt in Access auch machen? Und was würde passieren, wenn ich das nicht machen würde?
Echte Foreign Key Constraints müssen dort definiert werden, wo die Daten gespeichert werden, also auf dem SQL Server.
In Access brauchst du sie nicht und es passiert auch nichts, wenn du es nicht tust. Einziger Nachteil, wenn die Beziehungen in Access nicht definiert sind, ist dass du in neuen Access-Abfragen nicht automatisch Joins zwischen den beteiligten Tabellen erstellt bekommst. - Der Nachteil ist eher geringfügig, da komplexe Abfragen sowieso besser als Views erstellt werden und die lokalen Beziehungen immer neu erstellt werden müssten, wenn du die Tabellen mal löscht und neu verknüpfst.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor
  •