Abfrage in Formular mittels Listenfeld auswählen und in Tabe

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

saccara
*
Beiträge: 18
Registriert: Di, 01.11.2011 22:30

Abfrage in Formular mittels Listenfeld auswählen und in Tabe

Beitrag von saccara »

Hallo

Der Titel hört sich kompliziert an, aber es ist einfach erklärt.
Ich habe eine Datenbank erstellt, die Artikel für einen onlineshop enthält.
Jeder Datensatz ein Artikel mit Zusatzinformationen wie Preis, Hersteller, Fotos, url´s etc.
Da auch Mitarbeiter diese Datenbank nutzen sollen, möchte ich die Benutzung so einfach und sicher wie möglich gestalten.
Dazu habe ich ein Formular erstellt, welches die Details des Artikels darstellt.
In der rechten Bildhälfte habe ich ein Tabellen-Kontrollfeld eingerichtet, welches die restlichen Artikel anzeigt.
Dieses Tabellen-Kontrollfeld soll aber nur die Artikel anzeigen, die mittels Abfrage gefiltert wurden.
Diese Abfragen sollen in einen Listenfeld (Pul-Down-Menu) ausgewählt werden.

Einfacher erklärt:
Mittels Listenfeld, soll der Benutzer zum Beispiel auswählen können, das im Tabellen-Kontrollfeld nur die Artikel angezeigt werden, die keine EAN-Nummer haben, oder die keinen Händlerpreis haben etc.

Die Abfragen (Filter) habe ich schon erstellt und für den Text des Listenfeldes, welcher dann im Pull-Down menu ausgewählt werden kann, habe ich eine extra Tabelle erstellt.

Meine Suche im WEB endete meist bei früheren Base Versionen und da kam man oftmals um Makros nicht herum.
Vielleicht kann mir jemand einen Lösungsansatz geben oder nen Link zu nem Beispiel.

PS: ich tue mich noch bissl schwer mit den Beziehungen und Makros.

Grüße

Sacca
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von F3K Total »

Hallo,
es gibt verschiedene Möglichkeiten, allerdings alle per Makro.
Ohne den genauen Aufbau von Deinem Formular zu kennen, ist es kaum möglich Dir zu helfen.

Gruß R
saccara
*
Beiträge: 18
Registriert: Di, 01.11.2011 22:30

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von saccara »

Bild im Anhang

Linke Seite: Details zum Artikel

Rechte Seite: Such und Filterauswahl, welche in dem Tabellen-Kontrollfeld (rechts) dargestellt werden sollen.

Grüße

Sacca
Dateianhänge
Formular.jpg
Formular.jpg (97.33 KiB) 3977 mal betrachtet
saccara
*
Beiträge: 18
Registriert: Di, 01.11.2011 22:30

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von saccara »

Man findet zu fast jedem Problem Makros im Internet.
Das Problem ist, dass einige nur unzureichend funktionieren, bzw. es nach einigen probieren zu Fehlermeldungen kommt.
Es ist möglich, das dies auch an älteren Versionen von openoffice liegt.
Außerdem ist es oftmal möglich, mit der neuen Version die Ziele ohne Makros zu erreichen.

Beispiel: Ich habe versucht die Bilder zu integrieren, welche als URL in der Datenbank gespeichert sind, dazu habe ich mir ein Makro aus dem Netz geladen und stellte fest, das es mit grafischen Kontrollfelder (ohne makros) kinderleicht ist.

Ich möchte es so einfach und unanfällig, wie möglich machen.

Sacca
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von F3K Total »

Hallo,
mit "Aufbau Deines Formulares" ist kein Bild gemeint, sondern die Struktur der Datenbankanbindung, Formulare- Unterformulare und Kontrollfelder.
Im Bearbeitungsmodus kann man diesen Aufbau mit Hilfe des Formular Navigators sehen.
Hängt das Formular an nur einer Tabelle oder an mehreren? Wie heißt das Formular, wie das Listenfeld, wie die Tabelle/n usw.
Ohne diese Angaben kann man kein Makro dazu erstellen. Ohne Makro wirst Du Deinen Listenfeld-Filter nicht zum Laufen bringen können.

Gruß R
saccara
*
Beiträge: 18
Registriert: Di, 01.11.2011 22:30

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von saccara »

sehr schön, dass ist genau das richtige.
Jetzt muss ich mal versuchen, ob ich das für meinen Fall umgesetzt bekomme.
Falls ich selbst dafür zu dämlich bin, dann melde ich mich nochmal.

Danke

Sacca
saccara
*
Beiträge: 18
Registriert: Di, 01.11.2011 22:30

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von saccara »

Hallo

Ich habe die Suchfunktion schonmal ganz gut hinbekommen, allerdings funktioniert eines noch nicht so richtig.
Ich habe zusätzlich ein Listenfeld, welche alle Hersteller rausfiltert und mit DISTINCT einmalig darstellt.
Wähle ich einen aus, sollen natürlich alle Produkte des Herstellers aufgelistet werden.
Das Makro dazu sieht folgendermaßen aus:

sub Hersteller_Filter_setzen
Dim oSuchFeld3 as variant
Dim oTypFeld3 as variant
Dim oDoc3 as variant
Dim oForm as variant
oDoc3 = ThisComponent
oForm = oDoc3.DrawPage.Forms.GetByName("MainForm") 'oder getByIndex()
oSuchFeld3 = oForm.getByName("HerstellerSuche")
sSuchwort3 = oSuchFeld3.text

REM => dann Filter setzen

oForm.filter = "(`Artikel-Datenbank.Hersteller:` LIKE "+sSuchwort3+")"

REM =>setzen des Filters für das neue Formulardokument
oForm.ApplyFilter=true
oForm.reload()
end sub

Ich denke irgend ein Fehler in der oForm.filter-zeile verhindert eine Filterung, habe schon alles versucht, aber ein vernünftiges Ergebnis bekomme ich nicht hin, vielleicht sieht von euch einer, was falsch ist.
"Herstellersuche" ist das Kombinationsfeld, "Artikel-Datenbank" die Tabelle und "Hersteller:" die Spalte.

Danke Sacca
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von DPunch »

Aloha

Vielleicht reicht ja schon die korrekte Einordnung des Suchworts als String aus?

Code: Alles auswählen

oForm.filter = "(`Artikel-Datenbank.Hersteller:` LIKE '"+sSuchwort3+"')"
saccara
*
Beiträge: 18
Registriert: Di, 01.11.2011 22:30

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von saccara »

Bringt leider auch kein Ergebnis, habe auch schon fast alles probiert.
Hat noch einer nen Tip?

Sacca
saccara
*
Beiträge: 18
Registriert: Di, 01.11.2011 22:30

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von saccara »

Dieser Fehler taucht auf.

sacca
Dateianhänge
Fehler.jpg
Fehler.jpg (31.49 KiB) 3798 mal betrachtet
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von DPunch »

Aloha

Du musst natürlich Tabellen- und Spaltenname getrennt kennzeichnen

Code: Alles auswählen

oForm.filter = "(`Artikel-Datenbank`.`Hersteller:` LIKE '"+sSuchwort3+"')"
saccara
*
Beiträge: 18
Registriert: Di, 01.11.2011 22:30

Re: Abfrage in Formular mittels Listenfeld auswählen und in

Beitrag von saccara »

Danke, es funktioniert

sacca
Antworten