birdy2404
Goto Top

Makro für Selektion von Datensätzen aus Auswahlfeld

Hallo zusammen,
da es beim letzten Mal so gut geklappt hat und ich wieder mal seit 2 Tagen an einem Thema sitze, würde ich mich freuen wenn Ihr mir wieder helfen könntet.

Den u.g. Code habe ich aus einer anderen Anwendung kopiert und angepasst. Dort ist es jedoch ein reines Textfeld und kein Auswahlfeld.

Habe eine Datenbank in der unter anderem Errortypen nach versch. Analyseschritten in die Felder Errortyp 01-24 abgelegt werden.
Nun habe ich ein Formular in dem das Feld "varFehlercode" die gleiche Datenquelle hat wie die Errortyp-Felder.
Üder den folgenden Code sollen nun Datensätze abgegriffen werden die z.B. "Over Temperature" in einem der Felder Errortyp 01-24 stehen hat.

Wenn ich im Feld "varFehlercode" nichts eintrage erhalte ich alle Datensätze bei denen Fehlermeldungen gepflegt sind.
Wähle ich einen existierenden Eintrag aus, erhalte ich keinerlei Ergebnis mehr (also eine leere Tabelle).

Private Sub Befehl1_Click()
DoCmd.Close acForm, "Filter_stored_errors"  
 Dim db As DAO.Database, q As DAO.QueryDef
 Dim SQL As String
   
   SQL = "SELECT Datenbank.* "  
   SQL = SQL & "FROM Datenbank "  
   SQL = SQL & "WHERE ((([Datenbank].[Errortyp 01]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 02]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 03]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 04]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 11]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 12]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 13]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 14]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 21]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 22]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 23]) Like '*" & Me.varFehlercode & "*')"  
   SQL = SQL & "OR (([Datenbank].[Errortyp 24]) Like '*" & Me.varFehlercode & "*'))"  
   
  Set db = CurrentDb()
  Set q = db.QueryDefs("Datenbank Abfrage")  
  q.SQL = SQL
  q.Close
  SQL = ""  
  Set db = Nothing
 On Error Resume Next

 DoCmd.OpenForm "Filter_stored_Errors", acNormal, , , , acWindowNormal  
 
End Sub

Merci und Gruß
Andreas

Content-ID: 192484

Url: https://administrator.de/contentid/192484

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

Birdy2404
Birdy2404 10.10.2012 um 10:59:50 Uhr
Goto Top
Hab's nun doch rausgefunden. Das Makro war in Ordnung.
Die Feldeigenschaften für "varFehlercode" waren nicht richtig, da ja in die möglichen Fehlercodes referenziert wurde.
Richtig ist Spaltenbreite 1cm,7cm
Gebundene Spalte 1
damit er nach der ID sucht anstatt nach der Bezeichnung.
Gruß
Andreas