Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Listenfeld - komplette zeile ansprechen
zurück: Doppelte Datensätze gleich bei der Eingabe verhindern weiter: Kombi-/Listenfelder Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
crunny
Neuling


Verfasst am:
14. März 2007, 12:33
Rufname:

Listenfeld - komplette zeile ansprechen - Listenfeld - komplette zeile ansprechen

Nach oben
       Version: Office 2003

Hallo an alle, bin neu hier und hab auch schon mein erstes anliegen. ich benutze einen access front end um auf eine oracle tabelle (back end) zu zugreifen.
ich habe ein formular mit einem listenfeld in der die verknüpfte oracle tabelle angezeigt wird.
ich möchte jede selektierte zeile ansprechen, dies mache ich wie folgt:
Code:
' Selected entrie in listfeld
    For Each Element In Me!Superset.ItemsSelected
        Supersetauswahl = Me!Superset.ItemData(Element)
        Debug.Print "--- Hier ist der/die Ausgewählte(n) Superset(s) ---: " & Supersetauswahl
    Next Element
Mein problem ist, das ich kein eindeutigen schlüssel für diese tabelle habe und aus diesem grund eine weitere spalte brauche.
um die zeile genau identifizieren zu können brauche ich die ID und den code, der in der 3 spalte zu finden ist.
1. fragen: wie kann ich jeden wert einer zeile ansprechen? jetzt bekomme ich nur den wert der ersten spalte.
2. ich möchte dann die ausgewählten zeilen an einen query geben, der dann genau diese löscht?

wäre klasse wenn ihr mir da weiterhelfen könntet.

bye crunny
Nouba
nicht ganz unwissend :)


Verfasst am:
16. März 2007, 04:35
Rufname:
Wohnort: Berlin

AW: Listenfeld - komplette zeile ansprechen - AW: Listenfeld - komplette zeile ansprechen

Nach oben
       Version: Office 2003

Hallo,

ich hoffe, dass die Anmerkungen im Kode zum Verständnis genügen.

Code:
Function HoleInKlausel(lb As ListBox, Feldname1 As String, _
                       Feldname2 As String) As String
  Dim elem          As Variant
  Dim krit()        As String
  Dim i             As Long

  With lb                     'mit dem Listenfeld
    i = .ItemsSelected.Count  'die Anzahl der gewählten Elemente auslesen
    If i > 0 Then             'wenn etwas gewählt wurde
      ReDim krit(i - 1)       'reservieren wir Platz für unser Datenfeld
      For Each elem In .ItemsSelected  'alle ausgewählten Zeilen beachten
        'einen Wert für ein verbundenes Textkriterium mit dem Pipe-Zeichen (|) als
        'Trennzeichen zusammenstellen
        'ich nehme an, dass BoundColumn = 1 ist.
        krit(elem - 1) = Chr$(34) & .ItemData(elem) & "|" & .Column(1, elem) & Chr$(34)
      Next
      'Ergebnis zusammensetzen
      HoleInKlausel = "[" & Feldname1 & "] & ""|"" & [" & Feldname2 & "] In ( " _
                    & Join(krit, ", ") & " )"
    End If
  End With
End Function

Private Sub cmdTest_Click()
On Error GoTo cmdTest_Click_Fehler
  Const dbFailOnError = 128  'ohne DAO-Verweis notwendig
  'folgende Konstanten durch eigene Angaben richtig stellen
  Const cstrLBName  As String = "Superset"
  Const cstrFeldA   As String = "Dein erster Kriteriuenfeldname"
  Const cstrFeldB   As String = "Dein zweiter Kriterienfeldname"
  Const cstrTblName As String = "Name der zu löschenden Tabelle"
  Dim ws            As DAO.Workspace
  Dim krit          As String
  Dim s             As String
  Dim inTrans       As Boolean

  krit = HoleInKlausel(Me(cstrLBName), cstrFeldA, cstrFeldB)
  s = "DELETE FROM [" & cstrTblName & "]" _
    & IIf(Len(krit) > 0, " WHERE " & krit, "") & ";"
  Debug.Print s
  '  für Live-Action :) in nachfolgende Zeilen den Kommentar entfernen
  '
  '  Set ws = DBEngine(0)
  '  inTrans = True
  '  ws.BeginTrans
  '  ws(0).Execute s, dbFailOnError
  '  If MsgBox("Wollen Sie" & ws(0).RecordsAffected & " Datensätze löschen?", _
     '            vbQuestion Or vbYesNo, "Daten löschen") = vbYes Then
  '    ws.CommitTrans
  '  Else
  '    ws.Rollback
  '  End If
  Exit Sub
cmdTest_Click_Fehler:
  If inTrans Then ws.Rollback
  MsgBox Err.Description & " in cmdTest_Click", , "Fehler-Nr.: " & Err.Number
End Sub

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
crunny
Neuling


Verfasst am:
16. März 2007, 15:12
Rufname:


AW: Listenfeld - komplette zeile ansprechen - AW: Listenfeld - komplette zeile ansprechen

Nach oben
       Version: Office 2003

hallo nouba, wow super vielen dank für deine mühe. hat geklappt.

bye crunny
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage -Ausgabe in eine Zeile, durch Semikolon getrennt. 12 JWR 1433 06. Aug 2007, 15:29
JWR Abfrage -Ausgabe in eine Zeile, durch Semikolon getrennt.
Keine neuen Beiträge Access Tabellen & Abfragen: Zeile verschiebt sich einfach nach unten! 1 Alex20020 417 18. Jun 2007, 20:07
jens05 Zeile verschiebt sich einfach nach unten!
Keine neuen Beiträge Access Tabellen & Abfragen: Zeile eines Listenfeldes hervorheben 5 c.h.r.i.s.s 494 19. Mai 2007, 21:56
jens05 Zeile eines Listenfeldes hervorheben
Keine neuen Beiträge Access Tabellen & Abfragen: wie mache ich aus 1er Zeile, 2 Zeilen? 1 Nadine* 617 06. Mai 2007, 21:05
derArb wie mache ich aus 1er Zeile, 2 Zeilen?
Keine neuen Beiträge Access Tabellen & Abfragen: Welche Zeile ist in der anderen Tabelle nicht 1 galaxy 392 06. März 2007, 09:25
jens05 Welche Zeile ist in der anderen Tabelle nicht
Keine neuen Beiträge Access Tabellen & Abfragen: Access-Bericht Excel-Spalte als Zeile mit " - " ge 5 MehdiGruß 1018 27. Nov 2006, 03:06
Willi Wipp Access-Bericht Excel-Spalte als Zeile mit " - " ge
Keine neuen Beiträge Access Tabellen & Abfragen: Hyperlink -> Abfrage -> Listenfeld 1 Arkain 2554 28. Okt 2006, 03:16
derArb Hyperlink -> Abfrage -> Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Summen-Funktion über Zeile in SQL 5 Flo83 4055 08. Jun 2006, 09:20
Gast Summen-Funktion über Zeile in SQL
Keine neuen Beiträge Access Tabellen & Abfragen: Listenfeld auf 20 Felder begrenzt? 8 Blub 925 24. März 2006, 12:11
Gast Listenfeld auf 20 Felder begrenzt?
Keine neuen Beiträge Access Tabellen & Abfragen: Leeren Datensatz oder leere zwischen Zeile hinzufügen 3 cool.scheffe 1005 23. März 2006, 13:51
rita2008 Leeren Datensatz oder leere zwischen Zeile hinzufügen
Keine neuen Beiträge Access Tabellen & Abfragen: gesamte zeile einer tabelle kopieren (datensatz kopieren) 1 MeWe 923 28. Dez 2005, 17:03
KirstenS gesamte zeile einer tabelle kopieren (datensatz kopieren)
Keine neuen Beiträge Access Tabellen & Abfragen: Code im Eingabeformular in nächste Zeile befördern 2 lara111 2328 08. Dez 2005, 10:59
lara112 Code im Eingabeformular in nächste Zeile befördern
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Web Editor Forum