merlin3011 Geschrieben 27. Juni 2012 Teilen Geschrieben 27. Juni 2012 Guten morgen zusammen ich möchte gerne meinen Nutzern der Datenbank die Möglichkeit bieten das in ihrem Access-Formular nur bestimmte Daten zur Verfügung stehen. Dies mache ich derzeit über verschiedene Formulare die ich aus Abfragen befülle. In der Abfrage sage ich als Kriterium z.B. [Kundennummer] das sich ein Eingabefenster öffnet. Geht auch ganz gut. Jetzt sind die Anforderungen gewachsen und die möchten auf 9 verschiedene Felder suchen. Klar könnte ich ein und das selbe Formular x-mal kopieren und die Abfragen anpassen. Aber da muss es doch einen einfacheren Weg geben??? z.B. als String bei on_click "SELECT *** WHERE" mitgeben was er wie suchen soll. So kann ich dann immer das selbe Formular verwenden. HILFE Danke schon mal im Voraus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 27. Juni 2012 Teilen Geschrieben 27. Juni 2012 (bearbeitet) Ist Access nur das Frontend, und ist da ein echtes DBMS im Hintergrund ? Das wäre ein sehr wichtiges Detail, im Sinne von Mysql, Oracle, MSSQL, DB2 etc //edit : nicht alle links sind das ideale tutorial für das entsprechende DBMS, aber eine DATENBANK kann fulltext search, das is der Punkt (nein Access ist keine Datenbank, Access ist ein Auswuchs der Hölle, aber keine Datenbank) Gruß Sven Bearbeitet 27. Juni 2012 von streffin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
merlin3011 Geschrieben 28. Juni 2012 Autor Teilen Geschrieben 28. Juni 2012 (nein Access ist keine Datenbank, Access ist ein Auswuchs der Hölle, aber keine Datenbank) **** stimmt aber das liegt am Hersteller **** :D Ich beziehe meine Daten von verschiedenen Servern... zum einen läuft da ein Oracle zum anderen ein MSSQL. Um meinen Datenstamm den ich benötige zu bekommen laufen im Vorfeld ein, zwei Abfragen die mir im Access selber die benötigten Daten in eine Tabelle einfügen. Der Grund warum sind die Feldtypen (Text / Zahl) leider habe ich auf die Strukturen des Servers keinen Einfluss, Aber mit „Texten“ kann ich leider nicht rechnen… Also kann man sagen ich habe die Daten im Access selber… sollte das dann so nicht gehen kann ich diese auch umleiten (was ich auch machen will wenn ich fertig bin) auf den MSSQL. P.S. Ich bin an die server via ODBC angebunden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pixie Geschrieben 28. Juni 2012 Teilen Geschrieben 28. Juni 2012 Gibt es einen Grund, warum die Entscheidung irgendwann einmal auf Access gefallen ist? Wenn es filebasiert sein soll, wäre vielleicht auch SQL Server CE eine Alternative. Kann echtes SQL und Du kannst eine anständige Anwendung bauen. Zu Deiner eigentlichen Frage... da ist mir nicht ganz klar, was genau jetzt eigentlich dabei herauskommen soll. Soll der Anwender mehrere (beliebig viele?) Suchbedingungen angeben oder jeweils nur eines auswählen, also z.B. entweder nach Kundennummer oder nach Nachname suchen können? Du kannst dem Anwender im zweiten Fall z.B. über ein Dropdown auswählen lassen, welches Feld sein Suchkriterium bildet. Oder im ersten jeweils auf Button-Click eine weiteres Suchkriterium bestimmen lassen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
merlin3011 Geschrieben 28. Juni 2012 Autor Teilen Geschrieben 28. Juni 2012 Auf die Entscheidung der Programme habe ich keinen Einfluss ich muss das nehmen was da ist. Es sollen mehrere User darauf zugreifen. Diese sollen die Auswahl haben in einem „Formular“ zu sagen ich brauche Herrn Müller aus Mühlenbach der uns Mehl liefert. Formular: Hier im Formular sollen die eingeben können was sie wollen. z.B. [Name] [Vorname] [str.] [Hnr] [PLZ] [Ort] [Artikel] [Knopf Filtern] Wenn der Filter dann aktiv ist sollen alle Daten von dem Müller angezeigt werden... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 28. Juni 2012 Teilen Geschrieben 28. Juni 2012 Da würd ich mir den MSSQL Server nehmen, die Daten darauf lagern, und dieses Suchquery per table valued function oder ner View implementieren. Das kannste dann auch direkt in Access einbinden / abrufen. Der Vorteil is dann halt ganz klar, dass du ne richtige DB im Hintergund hast, mit so netten Sachen wie Backups, Transaktionssicherheit, Volltextsuche, Indizes, etc etc etc. Kannst natürlich auch den Oracle her nehm für. Wo deine ETL Prozesse enden is verhandelbar, aber Access wär bei mir da die letzte Wahl Gruß Sven Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
merlin3011 Geschrieben 28. Juni 2012 Autor Teilen Geschrieben 28. Juni 2012 ja werde dann auf den MSSQL gehen das wollte ich eh... und wie funktioniert das mit der table valued function oder die View??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 28. Juni 2012 Teilen Geschrieben 28. Juni 2012 (bearbeitet) ich kenn die Datenstrukur nicht, deshalb ist das aus der Ferne bissl schwer zu sagen, wie genau das zu implementieren ist. Die View wäre relativ statisch, da kannst du keine Parameter übergeben, die Funktion wäre seeehr viel dynamischer. Vom Prinzip her kannst du die Funktion so gestalten, dass alle deiner Suchoptionen, Parameter der Funktion sind. Im Query kannst du dann über nullif und isnull dafür sorgen, dass nicht alle der möglichen Parameter wirklich da sein müssen. Im Sinne von WHERE (nullif(@ort,'') is null OR alias.ort like '%' + @ort + '%') AND (/* das gleiche spiel mit anderem Parameter */) Darüber hättst du schon viel erschlagen denke ich. Mit Volltextsuche hab ich bisher in so einem Kontext bisher nicht rumspielen können, aber das müsste / dürfte eigentlich nicht wirklich ein Problem sein. Die Funktion würde dir dann nen Recordset zurückgeben, auf dass du dann recht einfach zugreifen kannst, SELECT * FROM [schema].[function] (@param1, @param2, @param3) Selbst da kannste dann noch mit ner Where Bedingung filtern (is aber nich so dolle für die performance, mach das dann lieber in der funktion selber wenns geht) Des wär aus der Ferne mein erster Ansatz. Datenbank seitig is das denke ich recht gut machbar. In Access selber kannste dir das dann als Recordset laden, und in den Formularen verwursten. Bearbeitet 28. Juni 2012 von streffin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
merlin3011 Geschrieben 29. Juni 2012 Autor Teilen Geschrieben 29. Juni 2012 danke ich werde es mal versuchen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.