Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

NZ Funktion

Begonnen von Lenee, Juni 12, 2013, 14:21:47

⏪ vorheriges - nächstes ⏩

Lenee

Hallo
habe folgenden code um Daten in eine Tabelle zu speichern nur im txtBestelldatum und txtlieferdatum steht nicht immer etwas drin hab jetzt mehrere varianten versucht da eine nz funktion hin zu bkommen aber irgendwie stell ich mich zu doof an

With Me!lstArtikel
   If .ItemsSelected.Count > 0 Then
      For Each itm In .ItemsSelected
         stSQL = "INSERT INTO tblBestellung (Artikelname, Menge, Bestelldatum, Lieferdatum, Abruf, Bestellscheinnummer) VALUES (" & .ItemData(itm) & ", " & Me.txtMenge & ", " & Me.txtBestelldatum & ", " & Me.txtLieferdatum & ", " & Me.txtAbruf & ", " & Me.txtBestellschein & ")"
            CurrentDb.Execute stSQL, dbFailOnError
        Next itm
    Else: MsgBox "Keine Artikel ausgewählt."
    End If
End With

DF6GL

Hallo,

funktioniert es denn , wenn Datumswerte vorhanden sind?

Wenn ja, dann dürften Datentypen der Datumsfelder eh falsch gewählt worden sein (Text statt Datum/Uhrzeit).

Im Fall von Datum/Uhrzeit muss es so lauten:

Dim strBDat as String, strLDat as String

      For Each itm In .ItemsSelected


If Isnull( Me!txtBestelldatum ) Then
strBDat = "NULL"
Else
strBDat = Format(Me!txtBestelldatum,"\#yyyy-mm-dd\#")   
End If

If Isnull( Me!txtLieferdatum ) Then
strLDat = "NULL"
Else
strLDat = Format(Me!txtLieferdatum,"\#yyyy-mm-dd\#")   
End If



       stSQL = "INSERT INTO tblBestellung (Artikelname, Menge, Bestelldatum, Lieferdatum, Abruf, Bestellscheinnummer) VALUES (" & .ItemData(itm) & ", " & Me.txtMenge & ", " & strbDat  & ", " & strLDat & ", " & Me.txtAbruf & ", " & Me.txtBestellschein & ")"

Lenee

die datums werte sind bein mir text werte "12062013" das reicht aus.

DF6GL

Hallo,

na denn:

.
.
strBDat = "'" & Me!txtBestelldatum & "'"
.
.
strLDat = "'" & Me!txtLieferdatum & "'"

Lenee

weder das eine noch das andere hat funktioniert,

ich hab das datum mal mit in den code eingefügt, aber ich bekommen immernoch die fehler insert into wenn ich mein feld leer lassen auch wenn ich deinen code einfüge

Dim I As Long, itm As Variant, stSQL As String

        For Each itm In .ItemsSelected
         stSQL = "INSERT INTO tblBestellung (Artikelname, Menge, Bestelldatum, Lieferdatum, Abruf, Bestellscheinnummer) VALUES (" & .ItemData(itm) & ", " & Me.txtMenge & ", " & Format(Me.txtBestelldatum, "\#mm\/dd\/yyyy\#") & ", " & Format(Me.txtLieferdatum, "\#mm\/dd\/yyyy\#") & ", " & Me.txtAbruf & ", " & Me.txtBestellschein & ")"
            CurrentDb.Execute stSQL, dbFailOnError
        Next itm
    Else: MsgBox "Keine Artikel ausgewählt."
    End If
End With

DF6GL

Hallo,

ich sehe nicht, wo Du meinen Code einfügt hast...

Wenn Du nicht auf "NULL" prüfst , kommen eben die Fehler(meldungen)....


Zudem dürfte es hier: 

... VALUES (" & .ItemData(itm) & ",  ...
zu einer Fehlersituation kommen, wenn "Artikelname" den Datentyp Text in der TAbelle aufweist.  Es sollte dann so lauten:

... VALUES ('" & .ItemData(itm) & "',  ...

Lenee

Hallo, leider hab ich immernoch das problem das es ich es noch nicht hinbekomme zumal ich die Funktion garnicht verstehe aus welchen teilen diese sich überhaupt zusammen setzt.

ich hatte nochmal den Code versucht einzubinden


aber er markiert mir dann "ItemsSelected"

On Error GoTo Er
Dim I As Long, itm As Variant, stSQL As String
Dim strBDat As String, strLDat As String

      For Each itm In ItemsSelected

With Me!lstArtikel
   If .ItemsSelected.Count > 0 Then
      For Each itm In .ItemsSelected
        If IsNull(Me!txtBestelldatum) Then
strBDat = "NULL"
Else
strBDat = Format(Me!txtBestelldatum, "\#yyyy-mm-dd\#")
End If

If IsNull(Me!txtLieferdatum) Then
strLDat = "NULL"
Else
strLDat = Format(Me!txtLieferdatum, "\#yyyy-mm-dd\#")
End If

       
               
                stSQL = "INSERT INTO tblBestellung (Artikelname, Menge, Bestelldatum, Lieferdatum, Abruf, Bestellscheinnummer) VALUES (" & .ItemData(itm) & ", " & Me.txtMenge & ", " & strBDat & ", " & strLDat & ", " & Me.txtAbruf & ", " & Me.txtBestellschein & ")"
            CurrentDb.Execute stSQL, dbFailOnError
        Next itm
    Else: MsgBox "Keine Artikel ausgewählt."
    End If
End With

DF6GL

Hallo,

vermutlich steht das Listenfeld nicht auf "Mehrfachauswahl"

Lenee

Mehrfachauswahl ist drin und würde auch funktionieren, beim doppelklick auf den datensatz im listenfeld kommt dann wenn ich die datumsfelder leer lasse "fehler beim kompilieren" "variable nicht definiert" und er markiert mir die zeile "For Each itm In ItemsSelected" gelb

DF6GL

Hallo,

naja, die durchgestrichene  Zeile ist auch falsch und fehl am Platz:



.
.
Dim strBDat As String, strLDat As String

      For Each itm In ItemsSelected
With Me!lstArtikel
.
.
.

Lenee

ok..... zeile rausgelöscht und nun geht´s auf einmal.... ::)


vielen dank!!!