Neuigkeiten:

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

Mobiles Hauptmenü

Wie kann ich in ein Promt mehrere Werte eingeben?

Begonnen von harvey186, August 28, 2010, 13:06:39

⏪ vorheriges - nächstes ⏩

harvey186

na, das hört sich ja gut an und sieht gut aus.  :D
Ich werd das nachher mal in meinen "echten" Bericht einbauen und hoffe, dass es dort auch so gut aussieht.

Ich meld mich dann wieder.

Danke schon mal.

harvey186

OK, wenn das Feld für die Auswahlliste ein String ist, klappt es gut. Nun wollte ich das auf ein Zahlenfeld umbauen und bekomme einen Fehler.
Private Sub Befehl1_Click()

Dim LF As Control
Dim Zeile As Long
Dim Erg As Long <-------------------------------------  Das habe ich von String auf Long geändert
Dim t As Integer

' Auswahl im listfeld durchlaufen und auf ausgewählte DS ausgeben
' Listfeld setzen
    Set LF = Me.Liste
' For-Nextschleife starten
    For Zeile = 0 To LF.ListCount - 1
    ' Schauen ob Eintag markiert
        If LF.Selected(Zeile) = True Then
        ' Zähler erhöhen
            t = t + 1
        ' Wenn ja Ausgeben
            Erg = Erg & "[Nam]='" & LF.Column(0, Zeile) & "' OR "     <----- Diese Zeile wird angemeckert  (Laufzeitfehler 13)
        ' Auswahl zurücksetzen, wenn aktiviert
            If DelAW = -1 Then
                LF.Selected(Zeile) = False
            End If
        End If
    Next Zeile
    If t = 0 Then
        MsgBox "Bitte wählen Sie die Daten aus, die im Bericht ausgegeben werden sollen!", 48, "http://www.access-home.de"
    Else
        Erg = Left(Erg, Len(Erg) - 4)
        DoCmd.OpenReport "TestBericht", acViewPreview, , Erg                       
    End If
   
End Sub

MzKlMu

Hallo,
Du kannst einer Zahl (Long) keinen String zuweisen. Erg ="Nam ...." ist doch eine Text, wie willst Du da eine Zahl zuweisen?
Erg muss String bleiben, zwingend.
Was hast Du genau vor?
Gruß Klaus

harvey186

Ich habe in dem Feld jetzt aber einen numerischen Wert eingepflegt.
Ich hab mir aber zwischenzeitlich so geholfen, dass ich bei der abfrage das Feld auf Text umwandle. Das funktioniert auch, aber es wäre halt eleganter, wenn das von vornherein mit einer Zahl funktionieren würde.

MzKlMu

Hallo,
in welchen Feld hast Du eine Zahl eingepflegt?
Gruß Klaus

Manfred S

#20
Hallo,
ich sehe nur, dass sich die Anforderungen stetig ändern  ???  :-\

#2 Artikel
"...Promt steht nun "Artikel eingeben:"
und dort will ich eingeben: Bälle UND Schuhe. Nun sollen alle Datensätze angezeigt werden in denen Bälle oder Schuhe seht...".

und in #7 sind es wieder Personennamen und dann wieder Zahlen.

"Eigentlich sollte das nicht Fehlerträchtig sein. Jeder Query, bzw. jeder SQL kann sowas. Und Access baut arbeitet ja mit SQL."
Das habe ich auch nicht gemeint. Gemeint ist die wenig anwenderfreundliche Lösung durch fehlerträchtige Eingabe/n des Users durch dessen händisch eingegebenen Suchbegriff.

oma

Hallo,

wenn du im Listenfeld Zahlen zur Auswahl hast, musst du ändern:

Dim Zeile As Long
Dim Erg As String
Dim t As Integer

    For Zeile = 0 To Me!Liste.ListCount - 1
        If Me!Liste.Selected(Zeile) = True Then
            t = t + 1
            Erg = Erg & "[DeinNummernFeld]=" & Me!Liste.Column(0, Zeile) & " Or "  <------ Änderung

                If DelAW = -1 Then
                    Me!Liste.Selected(Zeile) = False
                End If
        End If
    Next Zeile
    If t = 0 Then
        MsgBox "Bitte wählen Sie die Daten aus, die im Bericht ausgegeben werden sollen!", 48
    Else
        Erg = Left(Erg, Len(Erg) - 4)
        DoCmd.OpenReport "TestBericht", acViewPreview, , Erg
     End If
   
End Sub



Gruß Oma
nichts ist fertig!

harvey186

Danke, das war's wohl.

Ich werd das später einbauen.

Gruß
Harvey