Zum Inhalt springen

Access Endlosformular


philipp-schoene

Empfohlene Beiträge

Ich möchte gerne ein sog. Endlosformular anlegen. Die Datenfelder sollen am besten mit SQL Werte zugewiesen bekommen.

Ich habe mit Access nicht so viel Erfahrung. Was ich nicht weiß, ist, wie ich dne Textfeldern des Formulares werte zuweise, dass die z. B alle Datensätze anzeigen.

Die SQL-Abfrage soll später eingeschränkt werden. Wäre schön, wenn der Benutzer das mittels Eingabefeldern oder Sonstwie machen könnte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich möchte gerne ein sog. Endlosformular anlegen. Die Datenfelder sollen am besten mit SQL Werte zugewiesen bekommen.

Ich habe mit Access nicht so viel Erfahrung. Was ich nicht weiß, ist, wie ich dne Textfeldern des Formulares werte zuweise, dass die z. B alle Datensätze anzeigen.

Die SQL-Abfrage soll später eingeschränkt werden. Wäre schön, wenn der Benutzer das mittels Eingabefeldern oder Sonstwie machen könnte.

Moin,

am einfachsten geht es, wenn du dir die Daten mit einer Abfrage holst und diese dann als Datenquelle des Endlosformulars benutzt,

hth

Reinhold

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

natürlich kannst du anhand von Formular eingaben einen Filter setzen, also im Prinzip zur Laufzeit, z.B. im Ereignis beim Aktualisieren der Suchfelder, daraus einen Filter generieren. Also prinzipiell etwa so (wie immer ungetestet),


...

Call FilterSetzen


Sub FilterSetzen

    Me.Filter = ""

    if Me!SuchKundennr <> "" then

        Me.Filter = "Kundennr = " & Me!SuchKundennr 

    end if

    if Me!SuchKundenname <> "" then

        if Me.Filter <> "" then

            Me.Filter = Me.Filter & " and "

        end if

        Me.Filter = Me.Filter & "Name like '*" & Me!SuchKundenname & "*'"

    end if

    Me.FilterOn = true

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

In der Schule habe ich gesagt bekommen, dass Assistenten zwar nicht falsch, aber nicht gut sind. Aber das Endlosformular habe ich bisher nur mit dem Assistenten hinbekommen.

Würdest du mir empfehlen, dafür den Assistenten zu nehmen oder es per Hand zu machen? So schwer kann das doch nicht sein, oder? Falls letzteres: Kannst du mir sagen wie das geht?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

In der Schule habe ich gesagt bekommen, dass Assistenten zwar nicht falsch, aber nicht gut sind.

Ach? Dazu musst den entsprechenden Lehrer befragen, der so etwas unterrichtet ...

Aber das Endlosformular habe ich bisher nur mit dem Assistenten hinbekommen.

Warum auch nicht? Ich mache genau das seit mindestens 15 Jahren mit dem Assistent.

Würdest du mir empfehlen, dafür den Assistenten zu nehmen oder es per Hand zu machen? So schwer kann das doch nicht sein, oder? Falls letzteres: Kannst du mir sagen wie das geht?

Vorschlag: Mach es mit dem Assistent und schau dir dann an, was der so alles an Einstellungen vorgenommen hat. Wenn du dann beim nächsten mal die gleichen Einstellungen vornimmst hast du bestimmt ein 1a-Endlosformular.

hth

Reinhold

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, das Formular steht in einer ersten Version. Nun muss ich die Filter festlegen. Ich habe nicht so ganz verstanden, wie ich dein Script oben einbinden muss. Ich habe es als Sub im Textfeld. Den Call habe ich als "after Update".

Aber wie bekomme ich das Eingabefeld mit der Abfrage verknüpft?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, das Formular steht in einer ersten Version. Nun muss ich die Filter festlegen. Ich habe nicht so ganz verstanden, wie ich dein Script oben einbinden muss. Ich habe es als Sub im Textfeld. Den Call habe ich als "after Update".

Aber wie bekomme ich das Eingabefeld mit der Abfrage verknüpft?

im "After Update" der Suchfelder, in meinem Beispiel heißen sie SuchKundennr und SuchKundenname, schreibst du jeweils


Sub SuchKundennr_AfterUpdate

       Call FilterSetzen

End Sub

Und irgendwo in den Ereignisprozeduren oder ggf auch einem Modul:

Sub FilterSetzen

    Me.Filter = ""

    if Me!SuchKundennr <> "" then

        Me.Filter = "Kundennr = " & Me!SuchKundennr 

    end if

    if Me!SuchKundenname <> "" then

        if Me.Filter <> "" then

            Me.Filter = Me.Filter & " and "

        end if

        Me.Filter = Me.Filter & "Name like '*" & Me!SuchKundenname & "*'"

    end if

    Me.FilterOn = true

End Sub

hth

Reinhold

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe eine Abfrage, die eine Tabelle ungefiltert anzeigt.

das Textfeld heißt Text64

Ich hoffe, ich habe den Code richtig an miene bedürfnisse angepasst.. So geht es aber nicht.

Private Sub Text64_AfterUpdate()

Call FilterSetzen

Sub FilterSetzen()

    Me.Filter = ""

    If Me!Text64 <> "" Then

        Me.Filter = "Kontonummer = " & Me!Text64

    End If

    Me.FilterOn = True

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

Ich habe eine Abfrage, die eine Tabelle ungefiltert anzeigt.

das Textfeld heißt Text64

Ich hoffe, ich habe den Code richtig an miene bedürfnisse angepasst..

jo, sieht ganz gut aus, vorausgesetzt der zu vergleichende Inhalt steht in einer Tabellenspalte namens Kontonummer.

So geht es aber nicht.

Hältst du das für eine hinreichende Fehlerbeschreibung?

BTW: ich benutze diesen Mechanismus in jeweils abgewandelter Form schon ewig und klappt prima.

Grüße

Reinhold

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,


    if Me.Filter <> "" then

        Me.FilterOn = True

    else

        Me.FilterOn = False

    end if

Ich habe vor FilterOn = True noch
Me.Filter = "Kontonummer = " & Me!Text64

gesetzt. Ich hoffe, das ist die richtige Stelle. Die Fehlermeldung kommt immer noch. Kann das sein, dass ich den Filter in der Syntax falsch setze? Ich möchte den erstmal so haben, dass man die beginnenden Ziffern der Kontonummern eingibt und danach gefiltert wird (Muster: 02 zeigt alle Konten mit 02xxxxx an)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Me.Filter = "Kontonummer = " & Me!Text64
Ich hoffe, das ist die richtige Stelle. Die Fehlermeldung kommt immer noch. Kann das sein, dass ich den Filter in der Syntax falsch setze? Ich möchte den erstmal so haben, dass man die beginnenden Ziffern der Kontonummern eingibt und danach gefiltert wird (Muster: 02 zeigt alle Konten mit 02xxxxx an)
Moin, ja das ist definitiv die richtige Stelle. Aber deinem Beispiel entnehme ich, dass Kontonummer bei dir wohl eher ein Textfeld ist? :confused::confused: Dann meinst du wahrscheinlich:
Me.Filter like "Kontonummer = '" & Me!Text64 & "%'"

Bitte beachte die einfachen Anführungszeichen.

hth

Reinhold

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe folgendes Problem: Ich habe SollPeriode01...SollPeriode14 Diese muss ich zusammenaddieren. Wie bekomme ich das am besten hin?

select SollPeriode01 + SollPeriode02 + SollPeriode03 + SollPeriode04 + SollPeriode05 + SollPeriode06 + SollPeriode07 + SollPeriode08 + SollPeriode09 + SollPeriode10 + SollPeriode11 + SollPeriode12 + SollPeriode13 + SollPeriode14 as Sollperiodensumme from knurpsel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank, das hat mich schon weiter gefragt!!

Auf zum nächsten Problem :-)

Ich möchte eine Auflistung über die letzten 5 Jahre machen. Kann man bei den Filterkriterien auch das aktuelle Jahr als Variable oder Konstante einfügen?

Nun habe ich ja eine "Spalte" mit Textboxen pro Jahr der letzten 5 Jahre. Meine Logik ist, dass jedes Spalte nach einem anderen Jahr gefiltert werden muss. Kann man das in einem Jahr machen, oder muss man jeweils eine Abfrage erstellen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...