none
Abfrage in DB speichern RRS feed

  • Frage

  • Servus Experten,

    ich habe folgende Situation. Mein Anwendung läst das Erstellen von Abfragen zu, welche der User fast frei definieren kann. Da dies bei xUsern eine Menge von Abfragen sein könnte und ich den Server nicht zumüllen will(auch eine Frage der Sicherheit und Zugriffsrechte), haben wir beschlossen jedem User eine kleine Config-DB zu geben, in der die persönlichen Einstellungen etc abgespeichert werden (Access). In dieser Access-DB sind entsprechende LinkTabelle zum Server etabliert. Jetzt die Frage, wie bekomme eine Abfrage in die Access-Db gespeichert als Sicht/Abfrage.

    z.B: SQLStatement="Select * from TObjSales where ID=1055"

    Der Name der gespeichert Abfrage könnte zB "UserAbfrage001" sein.

    Danke für Tips und ein gutes neues Jahr ... mfg eem Monarch

    Sonntag, 30. Dezember 2012 15:24

Antworten

  • Hi,
    Deine Frage ist etwas unklar.
     
    Wenn Du die SELECT-SQL-Anweisung speichern willst, dann nimm eine Liste mit eigenen Objekten, die die von Anwender vergebene Bezeichnung der Abfrage und die Zeichenkette (SELECT-SQL-Anweisung) enthalten. Diese Liste kannst Du serialisieren und im Anwenderbereich ablegen.
     
    Fall es sich um eine Einplatz-Anwendung mit Datenspeicherung in einer mdb handelt, kannst Du dasselbe Muster nutzen oder ggf. eine separate 2-spaltige Tabelle für die Abfragen nutzen.
     
    Falls Du eine SQL-Server-Datenbank meinst, für die Abfragen zu speichern sind, kannst Du die gleiche Arbeitsweise nutzen oder auch mit Create View und Rechtevergabe die Abfrage im SQL Server speichern.
     
     
    --
    Peter Fleischer
    Sonntag, 30. Dezember 2012 16:11

Alle Antworten

  • Hi,
    Deine Frage ist etwas unklar.
     
    Wenn Du die SELECT-SQL-Anweisung speichern willst, dann nimm eine Liste mit eigenen Objekten, die die von Anwender vergebene Bezeichnung der Abfrage und die Zeichenkette (SELECT-SQL-Anweisung) enthalten. Diese Liste kannst Du serialisieren und im Anwenderbereich ablegen.
     
    Fall es sich um eine Einplatz-Anwendung mit Datenspeicherung in einer mdb handelt, kannst Du dasselbe Muster nutzen oder ggf. eine separate 2-spaltige Tabelle für die Abfragen nutzen.
     
    Falls Du eine SQL-Server-Datenbank meinst, für die Abfragen zu speichern sind, kannst Du die gleiche Arbeitsweise nutzen oder auch mit Create View und Rechtevergabe die Abfrage im SQL Server speichern.
     
     
    --
    Peter Fleischer
    Sonntag, 30. Dezember 2012 16:10
  • Hi,
    Deine Frage ist etwas unklar.
     
    Wenn Du die SELECT-SQL-Anweisung speichern willst, dann nimm eine Liste mit eigenen Objekten, die die von Anwender vergebene Bezeichnung der Abfrage und die Zeichenkette (SELECT-SQL-Anweisung) enthalten. Diese Liste kannst Du serialisieren und im Anwenderbereich ablegen.
     
    Fall es sich um eine Einplatz-Anwendung mit Datenspeicherung in einer mdb handelt, kannst Du dasselbe Muster nutzen oder ggf. eine separate 2-spaltige Tabelle für die Abfragen nutzen.
     
    Falls Du eine SQL-Server-Datenbank meinst, für die Abfragen zu speichern sind, kannst Du die gleiche Arbeitsweise nutzen oder auch mit Create View und Rechtevergabe die Abfrage im SQL Server speichern.
     
     
    --
    Peter Fleischer
    Sonntag, 30. Dezember 2012 16:11
  • Am 30.12.2012 schrieb Monarch-Falter:

    werden (Access). In dieser Access-DB sind entsprechende LinkTabelle zum Server etabliert. Jetzt die Frage, wie bekomme eine Abfrage in die Access-Db gespeichert als Sicht/Abfrage.

    z.B: SQLStatement="Select * from TObjSales where ID=1055"

    Der Name der gespeichert Abfrage könnte zB "UserAbfrage001" sein.

    Mit DAO wäre es so möglich:
    http://computer.wer-weiss-was.de/visual-basic/vb6_abfrage_in_access_erstellen-4132272.html

    Mit VB.Net soll es so funktionieren:
    http://www.microsoft.com/germany/msdn/solve/knowhow/howto/allgemein/WieOeffneIchMitVBNETEineSQLOderAccessDatenbankUndWieKannIchDaraufhinInhalteAnzeigenLoeschenUndAendern.mspx

    Und hier gibt es noch eine Diskussion dazu:
    http://www.ms-office-forum.net/forum/showthread.php?t=257837

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Sonntag, 30. Dezember 2012 16:13
  • Hi Experten,

    die antwort war Create View, was sich aber erledigt hat, weil es völlig sinnfrei und zu umständlich ist. Wir haben jetzt einfach ein TableObjekt erstellt in der die definierten SQL-Statements gespeichert werden. Die Ausführung wird zur laufzeit wie gewohnt dann ausgeführt.

    mfg eem monarch

    Montag, 31. Dezember 2012 11:59