PDA

Vollständige Version anzeigen : column (Überschrift im cbo macht Probleme)


dede
24.09.2003, 10:02
Hallo Forum,

Version access 2000

ich möchte Inhalte aus dem Kombinationsfeld (cbo_fp_aa) in Textfelder übertragen.

Dieser Code funktiniert:


Private Sub cbo_fp_aa_Click()

Dim A%

'holt Feldinhalte aus cbo_fp_aa

With cbo_fp_aa

A = .ListIndex

Me.fpaa = .Column(0, A)

Me.dat = .Column(1, A)

If .Column(2, A) = "" Then
Me.prnr = "-"
Else
Me.prnr = .Column(2, A)
End If

End With

End Sub

aber:

ich möchte auch eine Überschrift im Kombinationsfeld haben.
Ich habe die Eigenschaft Überschrift auf ja gestellt und sie wird im cbo angezeigt.

Problem:

Bei Auswahl des ersten Datensatzen im cbo wird die Überschrift im Textfeld angezeigt.

Ich greife also nicht auf den ausgewählten Datensatz zu (ausgewählte Zeile), sondern auf die vorherige, was nicht sein soll. Ich will ein cbo mit Spaltenüberschrift, und die ausgewählte Zeile
soll in txt angezeigt werden.

Wie wird der richtige Code geschrieben?

Vielen Dank für Antworten.

dede


Moderatorenanmerkung: CodeConverter eingesetzt

Arne Dieckmann
24.09.2003, 10:06
Setze A vorher auf 1.

Ungetestet:

Private Sub cbo_fp_aa_Click()

Dim A as Long
A=1

'holt Feldinhalte aus cbo_fp_aa

With cbo_fp_aa
'A = .ListIndex 'diese Zeile würde ich mal deaktivieren
Me.fpaa = .Column(0, A)
Me.dat = .Column(1, A)
If .Column(2, A) = "" Then
Me.prnr = "-"
Else
Me.prnr = .Column(2, A)
End If
End With

End Sub

Anne Berg
24.09.2003, 10:13
Ich würde meinen, listindex +1 wäre eher eine Lösung ;)

dede
24.09.2003, 10:15
Hallo Arne
danke für Antwort
dede

Arne Dieckmann
24.09.2003, 10:17
@Anne: Das ist wohl "jacket as trousers", oder?

dede
24.09.2003, 10:33
Hallo Arne,

hab Deinen Vorschlag ausprobiert.

nun bezieht sich Deine Lösung nur auf den ersten Datensatz im cbo, wenn ich A = 1 setze und den listindex ausschalte.

ich möchte aber auf eine beliebige Zeile im cbo zugreifen.

Anne schreibt:

Ich würde meinen, listindex +1 wäre eher eine Lösung

das klingt gut, mal ausprobieren.

dede

Arne Dieckmann
24.09.2003, 10:36
Okay, dann habe ich das wohl falsch verstanden und behaupte das Gegenteil. ;)
(Lesen müsste man können ...).

dede
24.09.2003, 10:51
Hallo Anne und Arne, vielen Dank nochmal, das ist der richtige Code

code:

Dim A%

'holt Feldinhalte aus cbo
With cbo_fp_aa

A = .ListIndex + 1 ' nimmt also nicht den vorherigen Datensatz

Me.fpaa = .Column(0, A)

Me.dat = .Column(1, A)

If .Column(2, A) = "" Then
Me.prnr = "-"
Else
Me.prnr = .Column(2, A)
End If

End With

End Sub

gruß dede