[Gelöst]Im Formular Daten Filtern über 2 Comboboxen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [Gelöst]Im Formular Daten Filtern über 2 Comboboxen

Lösung

von Sheepstyle » Di, 27.04.2010 16:09

Ich habe mein Problem mit Folgendem Makro code erfolgreich abgeschlossen.
Dazu müssen noch folgende Abänderungen an der Ausgangsituation gemacht werden:
Von
  • fmDaten (Hauptformular)
    • -KombiFeld :efNachname
      fmufVorname (subformular)
      • -KombiFeld :efVorname
      fmufArtikel (subformular)
      • -Tabellen-Kontrollfeld: kndGrid
ändern in:
  • fmMain (von "fmDaten" nach "fmMain" umbenannt)
    • -KombiFeld :efNachname
      -KombiFeld :efVorname (verschoben ins Hauptformular)
      -Formatiertes Feld: UnterschfitVorname (hinzugefügt)
      -Formatiertes Feld: UnterschfitName (hinzugefügt)
    fmufDaten (aus dem Hauptformular herausgeholt)
    • -Tabellen-Kontrollfeld: tblVerleih (von "kndGrid" nach "tblVerleih" umbenannt)
Die Abfrage afRefferenzabfrage fragt folgende Daten ab:
  • -artID von tblArtikel
    -artName von tblArtikel
    -refartMenge von tblRefferenz
    -refDatumVon von tblRefferenz
    -refDatumBis von tblRefferenz
    -kndName von tblKunden
    -kndVorname von tblKunden
    -kndTelefon von tblKunden
    -maName von tblMitarbeiter
    -maVorname von tblMitarbeiter


Alle Verknüpfungen wurden aufgelöst (geschieht automatisch sobald das SubFormular aus dem HauptFormular gelöst wird)

Somit enthalten die Formulare nur folgende Daten:
  • fmMain:
    • -Art des Inhaltes: Tabelle
      -Inhalt: tblKunden
  • fmufDaten:
    • Art des Inhaltes: Abfrage
      Inhalt: afRefferenzabfrage
und die KombiFelder:
  • efName:
    • -Art des Listeninhalts: SQL
      -Listeninhalt: SELECT DISTINCT "kndName" FROM "tblKunden"
  • efVorname:
    • -Art des Listeninhalts: SQL
      -Listeninhalt: SELECT "kndVorname" FROM "tblKunden"

Code: Alles auswählen

REM  *****  BASIC  *****
Sub Main()

End sub

'=====================================================================================================
'						****************************************************
'=====================================================================================================

SUB ReloadefVorname (oEvent as object)

'========================Variablen
dim oForm as object, kfVorname as object
dim SQL as string
'========================Zuweisungen

SQL = "SELECT ""kndVorname"" FROM ""tblKunden"" WHERE ""kndName"" = '" & oEvent.Source.GetText() & "'"

oForm = oEvent.Source.Model.GetParent()					'	setzt "oForm" auf das Formular des aufrufenden Objektes
kfVorname = oForm.GetByName("efVorname") 				'	weißt kfVorname das Objekt "efVorname" zu
kfVorname.ListSource = SQL								'	setzt den Listeninhalt auf den string SQL 
kfVorname.Text = " Bitte Wählen "						'	setzt den Text auf Bitte wählen

END SUB

'=====================================================================================================
'						****************************************************
'=====================================================================================================

SUB ReloadtblVerleih (oEvent as object)

'========================Variablen
dim oForm as object, oDoc as object, oFilterForm as object, kfVorname as object, kfName as object, dummy as object
dim oFilterVorname as string, oFilterName as string
'========================Zuweisungen

oForm = oEvent.Source.Model.GetParent()
oDoc = oForm.GetParent()

oFilterForm = oDoc.GetByName("fmufDaten")

kfName = oForm.GetByName("efName")

oFilterVorname = oEvent.Source.GetText()
oFilterName = kfName.Text

oFilterForm.Filter = "tblKunden.kndName = '" & oFilterName & "' AND tblKunden.kndVorname = '" & oFilterVorname & "' "

dummy = oForm.GetByName("UnterschriftName")
dummy.Text = kfname.Text

dummy = oForm.GetByName("UnterschriftVorname")
dummy.Text = oEvent.Source.GetText()

oFilterForm.Reload()


END SUB


'=====================================================================================================
'						****************************************************
'						Die Nun folgenden Funktionen und Subrutinen sind von
'						Günther Schardinger, aufgrund derer ich meine Sub-
'						rutinen geschrieben habe, hiermit bedanke ich
'						mich nochmals bei Günther Schardinger
'						****************************************************
'=====================================================================================================

Re: Im Formular Daten Filtern über 2 Comboboxen

von guenther » Di, 27.04.2010 14:46

das mit dem filtern ist fertig

siehe http://members.aon.at/schardinger/openoffice/ beispiel Bsp03.odb

servus, günther

Re: Im Formular Daten Filtern über 2 Comboboxen

von guenther » Di, 27.04.2010 12:00

ich habe so was ähnliches getestet

siehe http://members.aon.at/schardinger/openoffice/ beispiel Bsp03.odb

ist noch nicht fertig.

den filter im formular zu setzen dürfte nicht mehr schwer sein.

ich möchte den gewählten satz in der tabelle anfahren.
strebe eine lösung mit dem ResultSet der tabelle an.

wäre für anregungen dankbar

[Gelöst]Im Formular Daten Filtern über 2 Comboboxen

von Sheepstyle » Mo, 26.04.2010 22:10

Guten Abend die Damen und Herren,
ich habe folgendes Problem, ich möchte über zwei Comboboxen (Name\Vorname) mir die Artikel anzeigen lassen, welche sich die gewählte person ausgeliehen hat, dabei ist zu beachten, dass sich der die Auswahl des Vornamens nur noch auf die Möglichkeiten des vorher ausgewählten Namens beziehen soll.

Bis dato habe ich folgendes Makro, dass ich bei statusänderung der Namens Combobox aufrufe:

Code: Alles auswählen

Sub Reload (oEv as object)

oEv.source.model.commit() Rem... commits the value from the combobox into its bound field
oEv.source.model.parent.GetByName("fmufArtikel").Reload() Rem... reloads the subform.
oEv.source.model.parent.GetByName("fmufVorname").Reload()

End sub
Und mein Formular enthält folgendes:
  • fmDaten (Hauptformular)
    -Kombobox :Nachname
    • fmufVorname (subformular)
      -Kombobox :Vorname
    • fmufArtikel (subformular)
      -Tabellen-Kontrollfeld: kndGrid
Das Hauptformular enthält die Tabelle "tblDummy", in die die Kombobox die Spalte "dmmyInhalt 1" über das Datenfeld, den selektierten Wert einträgt. Der Listeninhalt ergibt sich aus folgendem SQL:

Code: Alles auswählen

SELECT "kndName" FROM "tblKunden"
Das Subformular "fmufArtikel" enthält die Abfrage afRefferenzabfrage und ist von "dmmyInhalt 1" nach "kndName"
verknüpft

Meine Tabellen:
  • -tblArtikel
    -tblDummy
    -tblMitarbeiter
    -tblKunden
    -tblRefferenz


Die Tabellen sind wie folgt gegliedert:
tblArtikel:
  • -artID
    -artName
    -artMenge
    -artBreite
    -artHöhe
    -artLänge
    -artFarbe
    -artZubehör (ja/nein)
    -artZBText
    -artSortierung
tblDummy
  • -dmmyID
    -dmmyInhalt 1
    -dmmyInhalt 2
tblMitarbeiter
  • -maName
    -maVorname
    -maID
tblKunden
  • -kndID
    -kndName
    -kndVorname
    -kndTelefon
tblRefferenz
  • -refID
    -refkndID
    -refartID
    -refartMenge
    -refDatumVon
    -refDatumBis
    -refmaID
Ich hoffe mir kann irgendwer helfen denn ich komme und komme einfach nicht weiter. Mein kopf brummt und meine Base Basic Programmier kenntnis stufe ich als absoluter anfänger ein.

Nach oben