PDA

Vollständige Version anzeigen : eine Spalte aus Tabelle als MsgBox in Formular


mmsbii
21.02.2008, 12:23
Hay hatte vor längerer Zeit das Thema schon mal gehabt, jetzt hab ich meinen Such Code geändert und jetzt kriege ich das nich mehr hin! Bei der Suche kriege ich nur die MsgBox nichts gefunden!

der alte Thread:
http://www.ms-office-forum.net/forum/showthread.php?t=221377&highlight=mmsbii

und hier mein neuer Code

Private Sub cboSuchtextName_Click()

Dim strKrit As String
strKrit = "ID = " & Me!cboSuchtextName.Column(0)
If Nz(Me!cboSuchtextName.Column(0), 0) = 0 Then
MsgBox "kein Eintrag im Suchfeld"
Exit Sub
End If

Dim varx
varx = DLookup("?wasHier?", "Info", "a1= '" & Me!cboSuchtextName & "'")
If Not IsNull(varx) Then
MsgBox varx
DoCmd.OpenForm "Ausgabe"
Forms!Ausgabe.Form.RecordSource = strKrit
DoCmd.Close acForm, Me.Name
Else
MsgBox "Nichts gefunden!"
End If
DoCmd.OpenForm "Ausgabe", WhereCondition:=strKrit
DoCmd.Close acForm, "Formular1"

End Sub

Vielen Dank !

Arne Dieckmann
21.02.2008, 12:29
Warum schaust dir deinen alten Thread eigentlich nicht genauer an? Dort wurde dir 2mal erklärt, wie DLookup() eingesetzt wird.

Alternativ könntest du DCount() einsetzen:

If Nz(DCount("*","Info","al='" & Me!cboSuchtextname & "'"),0)>0 Then
DoCmd.OpenForm "Ausgabe" ,,, strKrit
Docdm.Close acform, Me.Name
Else
MsgBox "Nichts gefunden!"
End If

mmsbii
21.02.2008, 12:50
Hi Arne,
naja jetzt will ich es schon so hinbekommen..

varx = DLookup("?wasHier?", "Info", "a1= '" & Me!cboSuchtextName & "'")


ich glaube hier liegt mein problem weil bei "was hier" weis ich nicht was hin kommt!

ebs17
21.02.2008, 13:34
Im einfachsten Fall der Name des Feldes in der gewählten Domäne (Tabelle/Abfrage).

mmsbii
21.02.2008, 13:38
Hi Ebs,

Danke für Deine Antwort

Du meinst die Spalte (Spaltennamen) aus der ich den Text für die Box will

ebs17
21.02.2008, 13:47
Ja natürlich. Macht etwas anderes Sinn?

mmsbii
21.02.2008, 14:07
Nein, aber so hatte ich es bereits probiert und es kommt die MsgBox Nichts gefunden

ebs17
21.02.2008, 14:25
varx = DLookup("?wasHier?", "Info", "a1= '" & Me!cboSuchtextName & "'")

Vielleicht setzt Du mal reale Bezeichnungen ein. Meine Onlinehilfe (Acc2000) zeigt als Beispiel:
Dieses Beispiel gibt Namensinformationen aus dem Feld Firma aus dem Datensatz zurück, der die Bedingungen im Argument Kriterien erfüllt. Die Domäne ist die Tabelle Versandfirmen. Das Argument Kriterien beschränkt die resultierende Datensatzgruppe auf Datensätze, bei denen Firmen-Nr gleich 1 ist.

Dim varX As Variant
varX = DLookup("[Firma]", "Versandfirmen", "[Firmen-Nr] = 1")


Was daran ist jetzt unverständlich?

mmsbii
21.02.2008, 14:40
es ist ja alles klar es geht aber nicht!

so sieht mein Code aus:

Private Sub cboSuchtextName_Click()

Dim strKrit As String
strKrit = "ID = " & Me!cboSuchtextName.Column(0)
If Nz(Me!cboSuchtextName.Column(0), 0) = 0 Then
MsgBox "kein Eintrag im Suchfeld"
Exit Sub

End if

Dim varx
varx = DLookup("A13", "Info", "A1= '" & Me!cboSuchtextName & "'")
If Not IsNull(varx) Then
MsgBox varx
DoCmd.OpenForm "Ausgabe"
Forms!Ausgabe.Form.RecordSource = strKrit
DoCmd.Close acForm, Me.Name
Else
MsgBox "Nichts gefunden!"
End If
DoCmd.OpenForm "Ausgabe", WhereCondition:=strKrit
DoCmd.Close acForm, "Formular1"

End Sub

mmsbii
21.02.2008, 14:42
Mir wird ja die MsgBox gebraxcht "nichts gefunden!" d.h normalerweise das in der Zeile unter Spalte A13 nichts steht es steht aber was!

Anne Berg
21.02.2008, 14:47
Wahrscheinlich liegt's am Einsatz der DLookup-Methode.

Welche ist denn die gebundene Spalte des Kombifeldes?
Wie lautet die Datenherkunft des Formulars "Ausgabe"?

PS: Du kannst der RecordSource aber auch keinen Filter zuweisen! :eek:

Arne Dieckmann
21.02.2008, 15:34
Zu Annes PS: Das habe ich in meinem Vorschlag schon berücksichtigt.

Zum "nicht gefunden": Nun, dann wird das Kriterium wohl nichts liefern. Was spuckt denn
Msgbox "A1= '" & Me!cboSuchtextName & "'"
aus?

mmsbii
21.02.2008, 16:01
@Anne
gebundene Spalte gibts keine!!
Datenherkunft ist eine Tabelle Info!!

@Arne
wo soll ich den Code einsetzten?

Anne Berg
21.02.2008, 16:10
gebundene Spalte gibts keine!!Das ist Unfug, jedes Kombifeld hat eine gebundene Spalte. Und zwar ist das die Spalte, die geliefert wird, wenn du das Kombifeld ohne Spaltenindizierung ansprichst.
Da du beide Varianten einsetzt, Me!cboSuchtextName.Column(0) und Me!cboSuchtextName kam mir die Idee, da mal nachzufragen. ;)
(wenn du so etwas machst, sollte man eigentlich davon ausgehen dürfen, dass du weißt was du tust :rolleyes: )Datenherkunft ist eine Tabelle Info!!Warum filterst du dann das Formular nach ID und suchst im DLookUp über A1? :confused:

mmsbii
21.02.2008, 16:20
Id? Weil ich noch zusätlich die Kontrollkästchen habe und muss ich doch über die ID gehen oder nicht??

oje jetzt bin ich grade total verwirrt

Anne Berg
21.02.2008, 16:43
Ohne konkrete Angabe ist dir wirklich schwer zu helfen.

Was hat das denn jetzt mit Kontrollkästchen zu tun? :confused:

mmsbii
21.02.2008, 16:47
Ja weil ich 5 Kontrollkästchen habe mit denen kann ich meine Suche "verfeinern"!

mmsbii
21.02.2008, 16:54
hmm kann ich das nicht ganz anders irgendwie machen z.b

beim laden von Ausgabe

MsgBox = "Spalte die ich in der Box haben will"

also quasi der MsgBox was definieren wie geht das?

Anne Berg
22.02.2008, 00:03
also quasi der MsgBox was definieren wie geht das?Falls du dich wunderst, hier keine Antwort mehr zu bekommen - ich bin wohl nicht die einzige, die keine Lust darauf hat, erst noch deine Fragen und "Problembeschreibungen" mühsam "übersetzen", d.h. interpretieren/analysieren zu müssen. :(

Es ist absolut unverständlich bzw. missverständlich, was du das so in deinen diversen Threads, weitestgehend ohne sinnvollen Einsatz von Punkt und Komma, zusammenschreibst.

(dass die meisten davon unerledigt sind, ist doch bezeichnend, meinst du nicht auch?)

mmsbii
22.02.2008, 00:17
ich glaube langsam immer mehr das in diesem Forum Anfänger nicht erwünscht sind. Ihr könnt euch gar nicht vorstellen wie schwierig es ist wenn man von der Materie leider keine Ahnung hat!

Abwertende Bemerkungen gegen Anfänger ind sehr häufig hier, das beobachte ich schon länger und zwar nich nur gegen mich! Aus diesem grund werde ich euch nicht mehr belästigen...

Aber mir stellt sich die Frage ob mache Leute hier mit dem Wissen geboren sind

Anne Berg
22.02.2008, 00:36
Nein, natürlich wird man nicht mit dem Wissen von was auch immer geboren - auch vermeintliche MOF-Gurus nicht! ;)

Es ist auch ganz bestimmt nicht so "das in diesem Forum Anfänger nicht erwünscht sind", es ist einfach die Art und Weise wie du deine Probleme zu vermitteln versuchst, die zunehmend schwer zu ertragen ist. Den Schuh musst du dir also selbst anziehen und nicht einfach blind zurückschlagen.