Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Formular erstellt (soll filtern und in Listfeld ausgeben) wie realisieren?

Begonnen von Andimau, Februar 07, 2011, 10:28:34

⏪ vorheriges - nächstes ⏩

Andimau

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)

DF6GL

Hallo,


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

Andimau

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]

DF6GL

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'"

Andimau

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



DF6GL

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?

Andimau

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]

database

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.

Andimau

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

DF6GL

Hallo,

hier ist von Hand manipuliert worden:

Private Sub Neu_Click(KeyAscii As Integer)

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