Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Andimau am Februar 07, 2011, 10:28:34

Titel: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 07, 2011, 10:28:34
Hallo,

habe zwei Probleme:

1) bei rechts dem Filter setzen sollte er mir nur die Datensäte im unteren Listfeld anzeigen welche gefiltert werden. Muss ich hier eine Beziehung erstellen, oder wie würde man hier vorgehen.

2) Die Datensätze werden zwar unten schön angezeigt, jedoch wenn ich einen direkt anklicken möchte (zum Bearbeiten) wird dieser nicht auferufen bzw. muss ich immer mit dem Vorwärts oder Rückwärtspfeil den Datensatz auswählen.

Hat jemand einen Tip?
Ich bedanke mich herzlich im voraus für eine kleine Hilfestellung.



[Anhang gelöscht durch Administrator]
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: database am Februar 07, 2011, 11:28:59
Hallo,

zu 1

Die Datenherkunft sdes Listenfeldes musss sich bei Auwahl eines Filterkriteriums ändern.
Das KANNST du unter Anderem erreichen mit:

Me!DeinListenfeld.RowSource = " SELECT * FROM DeineTabelle WHERE ...."
Me!DeinListenfeld.Requery
Wobei die WHERE-Klausel immer entsprechend deiner Filterauswahl umgestaltet werden MUSS.


zu 2

Wenn du das Listenfeld so einstellast, dass die ID-Spalte die gebundene Spalte ist, kannst du folgenden Code (anpassen) verwenden um die Auwahl im Formular darzustellen:
Nach donkarl.com   ...   http://www.donkarl.com?FAQ4.4 (http://www.donkarl.com?FAQ4.4)
z.B. ins Doppelklick-Ereignis des Listenfeldes....

Dim rs As DAO.Recordset
Dim suchID as Long
Set rs = Me.RecordsetClone

suchID = Me!DeinListenfeld

rs.FindFirst "ID= " & suchID
If Not rs.NoMatch Then
  Me.Bookmark = rs.Bookmark
End If

Set rs = Nothing
HTH
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 07, 2011, 14:11:22
Hi !

Vielen Dank für deine super Hilfe!.

zu 1) Soll ich diesen Filter in der Gültigsregel im Listfeld eingeben? Steh jetzt hier bisschen am Schlauch..

zu 2) geschafft - funktioniert ! Danke !
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: database am Februar 07, 2011, 14:28:45
Hallo,

ZitatSoll ich diesen Filter in der Gültigsregel im Listfeld eingeben ...
Nein, das hat nichts mit einer Gültigkeitsregel zu tun.

Ins Ereignis beim Klicken der einzelnen Filter-Checkboxen ...

z.B. 'Neue Maschinen'


Private Sub CheckboxName_Click()

   If Me!ChekboxName = -1 Then
       Me!DeinListenfeld.RowSource = "SELECT * FROM DeineTabelle WHERE zustand='neu'"
       Me!DeinListenfeld.Requery
   End If
   
End Sub


Analog dazu dann auch bei den anderen Checkboxen verfahren

HTH
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 07, 2011, 15:09:48
Ich habe ein Kopie der Datei gemacht, da ich sicherheitshalber mit dieser weitarbeite. Jedoch filtert er mir nicht, bzw. kommt auch keine Fehlermeldung

FROM Kopie von Verwaltung11 von db1


Sind Leerzeichen unzulässig weil es wie gesagt nicht funktioniert?

Private Sub Kontrollkästchen90_KeyPress(KeyAscii As Integer)
Dim strSQL As String
If Me!Kontrollkästchen90 = -1 Then
strSQL = "SELECT * FROM Kopie von Verwaltung von db1 WHERE Zustand='neu'"
Me!Liste56.RowSource = strSQL
Me!Liste56.Requery

End If
End Sub
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 07, 2011, 15:24:00
Hallo,

vermeide Leer- und Sonderzeichen in Namen...



strSQL = "SELECT * FROM [Kopie von Verwaltung von db1]  WHERE Zustand='neu'"


Heißt die Tabelle in der Db wirklich jetzt

Kopie von Verwaltung von db1


??
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: database am Februar 07, 2011, 15:32:28
Hallo,

...und warum nimmst du das KeyPress - Ereignis?
nimm besser Kontrollkästchen90_Click ...  und benenn das Ding um bitte, z.B. 'chkNeueMaschinen'  ;)
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 07, 2011, 15:53:39
Hallo nochmal.

habe jetzt geändert in:

Private Sub Gebraucht_Click(KeyAscii As Integer)
Dim strSQL As String
If Me!Kontrollkästchen94 = -1 Then
strSQL = "SELECT * FROM [verwaltung] WHERE Zustand='gebraucht'"
Me!Liste56.RowSource = strSQL
Me!Liste56.Requery

End If
End Sub


Das Problem ist jedoch er filtert nicht. (eine Fehlermeldung erscheint auch nicht)

Ich möchte noch dazusagen, Die Filter-Checkboxen existieren in keiner Tabelle, etc.. (wurden einfach ins Formular eingefügt)
Aber das ist denk ich ja nicht ausschlaggend, da ich ja mit den Checkboxen eine Abfrage starte..

Weiss jemand warum er mir nicht filtert ?
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 07, 2011, 15:56:56
Hallo,


welchen Datentyp hat "Zustand"  in der Tabelle?

Wird dort ein Nachschlagefeld verwendet?

Wenn ja, wie heißt der SQl-String des Nachschlagefeldes?
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 07, 2011, 16:20:14
hallo

das ist ein Kombinationsfeld  --> Wertliste --> "gebraucht";"neu"
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 07, 2011, 18:35:06
Hallo,

nach dem Anschauen des Formulares vermute ich eh einen solchen Code für die Filterung des Listenfeldes:


Sub Filtern_Afterupdate()

Select case Me!Filtern
Case 1:  Me!Liste56.RowSource =  "SELECT * FROM [verwaltung] WHERE Zustand='Neu'"
Case 2:  Me!Liste56.RowSource =  "SELECT * FROM [verwaltung] WHERE Zustand='gebraucht"
Case 3:  Me!Liste56.RowSource =  "SELECT * FROM [verwaltung] WHERE SW <> 0"
Case 4:  Me!Liste56.RowSource =  "SELECT * FROM [verwaltung] WHERE Farbig <> 0"
Case Else
End Select
End Sub




strSQL
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 08, 2011, 09:44:51
hi,

habe die Case Funktion direkt wie angegeben ins Listfeld eingebaut. Leider funktioniert es noch nicht. Oder muss ich dies wo anders einbauen?

Danke nochmals kurz für Eure Hilfe.

Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 08, 2011, 10:00:36
Hallo,

was heißt "direkt wie angegeben ins Listfeld eingebaut" ?


Lt. Formular-Bild hast Du eine Optionsgruppe ("filtern"), die es erlaubt, jeweils ein Kontrollkästchen anzuklicken. Der gepostete Code ist die Ereignisprozedur des Optionsgruppen -Ereignisses "Nach Aktualisierung"
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 08, 2011, 11:02:36
habe nun den Code dem Filteroptionen nach Aktulisierung hinzugefügt.

wenn ich Jetzt z.b eine Filterbox (gebraucht) anklicke erscheinen keine Datensätze. Auch wenn ich dann Neue Maschinen auswähle erscheinen keine.

Es kommmt ein Fehler (in der fett makierten Zeile)

Private Sub Liste56_DblClick(Cancel As Integer)

Dim rs As DAO.Recordset
Dim suchID As Long
Set rs = Me.RecordsetClone
suchID = Me!Liste56
rs.FindFirst "ID= " & suchID
If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark

End If

Set rs = Nothing
End Sub
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 08, 2011, 14:38:01
Hallo,

???

"den Code dem Filteroptionen nach Aktulisierung hinzugefügt."


nein , hast Du nicht...  oder heißt die Optionsgruppe der Kontrollkästchen "Liste56"?

Selbst wenn die so hieße, dann ist der Code unsinnig/unpassend.  Der Code filtert das Form nach dem doppelt angeklickten Eintrag im Listenfeld "Liste56"


Oder Deine Beschreibung ist irreführend.
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 08, 2011, 15:44:02
Hy.

also mein Listfeld unten (wo die Daten ausgegeben werden heisst "Liste56",

Mein Filter (Checkboxen) heissen "Filter"

ich bin die ganze Zeit schon am rumbasteln, aber es will nicht wirklich funktionieren  :'(
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 08, 2011, 17:07:34
Hallo,

1) benenn erst den Namen der Gruppe um ("Filter" --> "optFilter")


2) ersetze in meinem Code "Filtern" durch "optFilter"
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 11, 2011, 10:39:20
Hallo,

habe wie gesagt dies geändert. Jedoch wird wird mir kein einziger Datensatz mehr im Listefeld angezeigt..!
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 11, 2011, 11:50:40
Hallo,

ich stochere im Nebel herum....

poste nochmal Deinen akt. verwendeten kompletten Code ...
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 11, 2011, 13:41:04
Option Compare Database

Private Sub Befehl61_Click()
On Error GoTo Err_Befehl61_Click


    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Befehl61_Click:
    Exit Sub

Err_Befehl61_Click:
    MsgBox Err.Description
    Resume Exit_Befehl61_Click
   
End Sub
Private Sub Befehl62_Click()
On Error GoTo Err_Befehl62_Click


    DoCmd.GoToRecord , , acFirst

Exit_Befehl62_Click:
    Exit Sub

Err_Befehl62_Click:
    MsgBox Err.Description
    Resume Exit_Befehl62_Click
   
End Sub
Private Sub Befehl63_Click()
On Error GoTo Err_Befehl63_Click


    DoCmd.GoToRecord , , acNext

Exit_Befehl63_Click:
    Exit Sub

Err_Befehl63_Click:
    MsgBox Err.Description
    Resume Exit_Befehl63_Click
   
End Sub
Private Sub Befehl64_Click()
On Error GoTo Err_Befehl64_Click


    DoCmd.GoToRecord , , acPrevious

Exit_Befehl64_Click:
    Exit Sub

Err_Befehl64_Click:
    MsgBox Err.Description
    Resume Exit_Befehl64_Click
   
End Sub
Private Sub Befehl65_Click()
On Error GoTo Err_Befehl65_Click


    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Exit_Befehl65_Click:
    Exit Sub

Err_Befehl65_Click:
    MsgBox Err.Description
    Resume Exit_Befehl65_Click
   
End Sub
Private Sub Befehl66_Click()
On Error GoTo Err_Befehl66_Click


    DoCmd.GoToRecord , , acNewRec

Exit_Befehl66_Click:
    Exit Sub

Err_Befehl66_Click:
    MsgBox Err.Description
    Resume Exit_Befehl66_Click
   
End Sub
Private Sub Befehl75_Click()
On Error GoTo Err_Befehl75_Click


    DoCmd.Close

Exit_Befehl75_Click:
    Exit Sub

Err_Befehl75_Click:
    MsgBox Err.Description
    Resume Exit_Befehl75_Click
   
End Sub

Private Sub Gebraucht_Click()

    If Me!Gebraucht = -1 Then
        Me!Liste56.RowSource = "SELECT * FROM [verwaltung] WHERE Zustand='Gebraucht'"
        Me!Liste56.Requery
    End If
   
End Sub

Private Sub Liste56_DblClick(Cancel As Integer)

Dim rs As DAO.Recordset
Dim suchID As Long
Set rs = Me.RecordsetClone
suchID = Me!Liste56

rs.FindFirst "ID= " & suchID
If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark

End If

Set rs = Nothing
End Sub

Private Sub Neu_Click()

    If Me!neu = -1 Then
        Me!Liste56.RowSource = "SELECT * FROM [verwaltung] WHERE Zustand='Neu'"
        Me!Liste56.Requery
    End If
   
End Sub

Sub optFilter_Afterupdate()

Select Case Me!optFilter
Case 1:  Me!Liste56.RowSource = "SELECT * FROM [verwaltung] WHERE Zustand='Neu'"
Case 2:  Me!Liste56.RowSource = "SELECT * FROM [verwaltung] WHERE Zustand='Gebraucht"

Case Else
End Select
End Sub
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 11, 2011, 21:28:14
Hallo,


hier fehlt ein Hochkomma:
Case 2:  Me!Liste56.RowSource = "SELECT * FROM [verwaltung] WHERE Zustand='Gebraucht'"


Sind die Optionsfelder wirklich Bestandteil der Optionsgruppe?

Warum gibt es die Subs
Private Sub Gebraucht_Click()
und
Private Sub Neu_Click()

?
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: database am Februar 11, 2011, 21:47:24
Hallo,

@DF6GL
Wenn ich mir das eingefügte Bild im ersten Posting genau anschaue, sehe ich, dass die Checkboxen NICHT ausgerichtet untereinander stehen.
Das kann natürlich ein Zufall sein aber ... wie du schon (ich nehme an) befürchtest --->  
ZitatSind die Optionsfelder wirklich Bestandteil der Optionsgruppe
glaube ich, dass das KEINE Optionsgruppe ist sondern eigenständige Checkboxen um die ein Rahmen gezeichnet wurde!

Private Sub Gebraucht_Click()
und
Private Sub Neu_Click()

....erhärten dann rapide diese 'Befürchtung'

Wenn dem so ist, ist jegliche Ausrichtung der Codes auf ein Optionsgruppe obsolet.

ZitatMein Filter (Checkboxen) heissen "Filter"
Ist, glaube ich, eine optische Täuschung - so heißt der Rahmen  

Sub optFilter_Afterupdate()
Wir denn diese Sub jemals angesprungen? - Schon mal einen Haltepunkt darauf gesetzt?

Da dreht sich ja alles irgendwie im Kreis herum
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 14, 2011, 14:03:31
hallo Leute,

- also ich habe eine Optionsgruppe erstellt (das ist gleich der Rahmen)

- in diese Optionsgruppe habe ich zwei Checkboxen erstellt.

Bin ich den hier richtig vorgegangen?

danke
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 14, 2011, 17:56:40
Hallo,

Du bist richtig vorgegangen, wenn Du die Optionsfelder jeweils so auf/in den Rahmen gelegt hast, dass dieser dabei schwarz markiert wurde....
In den  Eigenschaften der Optionfelder findest Du anschliessend die Eigenschaft "Optionswert", dessen Wert der Rahmen erhält, wenn das betreffenden Optionsfeld angeklickt wird. Dieser Wert wird im Select Case - Block überprüft.
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 15, 2011, 08:32:42
Ich werde die Datei nun anhängen.


Viellicht könnte jemand das Problem lösen.



PS: Die Datensätze ich habe ich gelöscht (ausse einen)

Es geht wie gesagt um die Filter-Checkboxen..

Als Dank würde ich eine Geldspende entgegen sehen : -)

Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 15, 2011, 08:34:34
www.isarcolor.de/downloads/verwaltung.mdb
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 15, 2011, 10:24:04
Hallo,


es muß einfach so heißen:


Sub optFilter_Afterupdate()

Select Case Me!optFilter
Case 1:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Zustand='Neu'"
Case 2:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Zustand='Gebraucht'"

Case Else
End Select
End Sub
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 15, 2011, 11:30:19
Danke dir !

manchmal sieht man den Wald vor lauter Bäumen nicht! :- )

mfg
Andi
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 21, 2011, 12:03:12
Hallo

nochmal ganz kurz: Wenn ich ein CASE3 hinzufüge, (ich habe hier CASE 3) ein Ja / Nein Feld (Kontrollkästchen)

Ist es so richtig wie ich es angegeben habe, weil er mir nicht filtert! (CASE3)
habe schon "true" probiert und "wahr". Funktioniert auch nicht"

danke!

Sub optFilter_Afterupdate()

Select Case Me!optFilter
Case 1:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Zustand='Neu'"
Case 2:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Zustand='Gebraucht'"
Case 3:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE VM1='Ja'"

Case Else
End Select
End Sub
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: database am Februar 21, 2011, 13:14:34
Hallo

kommt drauf an, was du in der Tabelle stehen hast.

WHERE VM1='Ja'" ... eher nicht

Case 3:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE VM1=True"
oder
Case 3:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE VM1=-1"


True, False, Ja und Nein sind keine Texte, daher OHNE Hochkomma



Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 24, 2011, 09:22:44
Dank du hast mir sehr geholfen.

Jedoch habe ich noc ein Problem. Ich möchte datenfelder anzeigen lassen, wo noch kein Datum eingetragen ist

Case 5:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Stoerung_gemeldet_Am=False"

(Tabellefeld ist als Datum deklariert)
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 24, 2011, 09:30:01
Hallo,


Case 5:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Stoerung_gemeldet_Am  is Null"
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 25, 2011, 17:27:03
Danke klappt!!

Nur zwei Probleme noch:

Möchte mit dem Button ID Zettel drucken Siehe screenshot unten links einen Bericht drucken der aktiv ist ( Checkbox)
weiss jemand wie ich den Bericht mit dem Button aufrufe.. ?

Und bei Filtern: Keine Wartung -> Hier sollte er mir nur die Maschinen filtern die oben mit "keine Wartung" (im Listfeld stehen filtern)

Er verlangt hier aber einen Wert, aber diesen Wert frag ich ja hier ab, bzw. klappt es nicht: (nur Case6 funktioniert nicht, die anderen fuktionieren perfekt!

Sub optFilter_Afterupdate()

Select Case Me!optFilter
Case 1:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Zustand='Neu' and Eingelagert=False"
Case 2:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Zustand='Gebraucht' and Eingelagert=False"
Case 3:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE VM1=False and Zustand='Gebraucht' and Eingelagert=False"
Case 4:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Wartung_abbauen=True and Eingelagert=True"
Case 5:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Stoerung_gemeldet_Am is Null"
Case 6:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Wartung_Kunde is Keine Wartung"

Case Else
End Select
End Sub

[Anhang gelöscht durch Administrator]
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 25, 2011, 21:16:15
Hallo,

Sub btnIDZettelDrucken_Click()
Docmd.Openreport "EinBericht",acpreview,,"drucken <> 0"
End Sub


Case 6:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Wartung_Kunde = 'Keine Wartung'"
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am Februar 28, 2011, 17:00:00
Hallo

also unter Berichte kann ich den Bericht aufrufen. Jedoch geht uns dem eigentlichen Formular nicht wirklich. Der Bericht wird zwar auch auferufen. jedoch ohne Daten ...

Das heisst, irgendwo muss der Wurm drin sein ;: )

Sub Befehl144_Click()
DoCmd.OpenReport "IDZettel", acPreview, , "drucken <> 0"
End Sub


PS: Habe erst eine Abfrage erstellt, wo er mit dir aktiven IDZettel filtert , darauf hab ich den Bericht erstellt...

Wie gesagt es klappt direkt aus Berichte - > bericht aufrufen und drucken aber nicht mit dem obigen Befehl  :-\

Danke nochmals für deine HIlfe, hast du noch einen tip ?

LG
Andi


Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am Februar 28, 2011, 17:50:49
Hallo,

ich denke, wir reden bei verschiedenen Dingen aneinander vorbei...

Der Bericht braucht keine Abfrage, er kann direkt an die Tabelle gebunden sein (falls keine weiteren Kriterien im "Vorfeld" nötig sind)


Das Feld "drucken" muß in der Tabelle als Ja/Nein -Feld vorhanden sein.

Mit der Übergabe des Ausdrucks  "drucken <> 0"   an den Where-Condition-Parameter der Openreport-Methode werden in Bericht die DS gefiltert, bei denen "drucken" auf Wahr (nicht Falsch) steht.


Was heißt denn : 

"die aktiven IDZettel filtert "
??

Was ist "aktiv"? sind das die, bei denen "drucken" auf Ja steht?
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am März 24, 2011, 13:43:33
Mir ist gerade aufgefallen das unter Access 2010 mein Programm nicht mehr richtig läuft. Vor allem die Filter greifen nicht mehr.
Weiss hier jemand einen tip?

Fehlermeldung sende ich als Screenshot mit.

Vielen Danke!
mfg
Andi

[Anhang gelöscht durch Administrator]
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: database am März 24, 2011, 15:34:08
Hallo,

diese Fehlermeldung besagt eigentlich nichts anderes, als dass der Code der Prozedur 'AfterUpdate' fehlerhaft ist.

Hmmm.... hast du vielleicht gar eine BeforeUpdate-Prozedur auf AfterUpdate umbenannt ?
Wie ich auf das komme?  .... Die Deklaration einer Prozedur entspricht nicht der Beschreibung eines Ereignisses .....   ;)

Ein gern gemachter Fehler - man läßt Cancel As Integer danach zwichen den Klammern stehen ... sieh mal nach und wenn das so ist lösch das aus den Klammern raus.
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: Andimau am März 28, 2011, 14:08:25
HI

mmh, wie gesagt in Access 2003 funktioniert ja alles.

Das wichtigste Codemässig ist folgender:

Private Sub Neu_Click(KeyAscii As Integer)
Dim strSQL As String
If Me!Kontrollkästchen90 = -1 Then
strSQL = "SELECT * FROM [verwaltung] WHERE Zustand='neu'"
Me!Liste56.RowSource = strSQL
Me!Liste56.Requery

End If
End Sub



Private Sub Liste56_DblClick(Cancel As Integer)

Dim rs As DAO.Recordset
Dim suchID As Long
Set rs = Me.RecordsetClone
suchID = Me!Liste56

rs.FindFirst "ID= " & suchID
If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark

End If

Set rs = Nothing
End Sub


Sub optFilter_AfterUpdate()

Select Case Me!optFilter
Case 1:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Zustand='Neu' and Eingelagert=False and Wartung_Kunde = 'Isarcolor'"
Case 2:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Zustand='Gebraucht' and Eingelagert=False and Wartung_Kunde = 'Isarcolor'"
Case 3:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE VM1=False and Zustand='Gebraucht' and Wartung_Kunde = 'Isarcolor'"
Case 4:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Eingelagert=True"
Case 5:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Stoerung_gemeldet_Am is Null and Wartung_Kunde = 'Isarcolor'"
Case 6:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Wartung_Kunde = 'Keine Wartung' and Eingelagert=False"
Case 7:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1] WHERE Wartung_Kunde = 'Neuer Kunde'"
Case 8:  Me!Liste56.RowSource = "SELECT * FROM [Tabelle1]"
Case Else
End Select
End Sub



PS: cancel as integer hab ich schon versucht zu löschen, dann geht es aber unter Acess 2003 nicht mehr.

danke für deine Hilfe!

mfg
Andi
Titel: Re: Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?
Beitrag von: DF6GL am März 28, 2011, 17:11:35
Hallo,

hier ist von Hand manipuliert worden:

Private Sub Neu_Click(KeyAscii As Integer)

Die Click()-Prozedur hat kein Argument...