Private Sub Form_Current()
'Dieser Code ermöglicht es die Datensätze auch im
Unterformular auszuwählen
Dim rstCln As DAO.Recordset
'Dim strDatum As String
'Dim strDauer As String
'Dim strBeschreibung As String
'strDatum = Me!A_Datum
'strDauer = Me!A_Dauer
'strBeschreibung = Me!A_Beschreibung
'1. Prüfen des Schlüssels, bei Null nicht ausführen
If Not IsNull(Me!A_Datum) Or IsNull(Me!A_Dauer) Or
IsNull(Me!A_Beschreibung) Then
'2. Recordset klonen
Set rstCln = Forms!
usr_Arbeitsnachweise_Übersicht.RecordsetClone
'3. im Klon suchen
Dim strDatum As String
Dim strDauer As String
Dim strBeschreibung As String
strDatum = Format(Me!A_Datum, "m-d-yy")
strDauer = Me!A_Dauer
strBeschreibung = Me!A_Beschreibung
rstCln.FindFirst "A_Beschreibung = '" &
strBeschreibung & "'" And "A_Datum = " & strDatum & ""
And "A_Dauer = '" & strDauer & "'"
If Not rstCln.NoMatch Then
'4. Wert gefunden -> Lesezeichen setzen
Forms!usr_Arbeitsnachweise_Übersicht.Bookmark =
rstCln.Bookmark
End If
'5. wieder aufräumen
End If
End Sub
> Dim rstCln As DAO.Recordset
> ...
> '2. Recordset klonen
> Set rstCln = Forms!usr_Arbeitsnachweise_Übersicht.RecordsetClone
> ...
Vielleicht liegt's an der Reihenfolge der Verweise.
s. Access-FAQ 7.11
Wenn nicht, dann verrate zumindest deine Access-Version
und in welcher Zeile der Fehler auftritt - sollte gelb markiert
werden während der Fehlermeldung.
--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
+ Info zur 7. Access-Entwickler-Konferenz 25./26.9. in Nürnberg
Hmm, kann eigentlich nicht, da du ja mit "DAO" desambiguitiert hast.
> Wenn nicht, dann verrate zumindest deine Access-Version
> und in welcher Zeile der Fehler auftritt - sollte gelb markiert
> werden während der Fehlermeldung.
Vielleicht geht's ja um ganz was anderes.
--
cu
rstCln.FindFirst "A_Beschreibung = '" &
strBeschreibung & "'" And "A_Datum = '" & strDatum & "'"
And "A_Dauer = '" & strDauer & "'"
Vielen Dank
>-----Originalnachricht-----
>.
>
...
> rstCln.FindFirst "A_Beschreibung = '" &
>strBeschreibung & "'" And "A_Datum = " & strDatum & ""
>And "A_Dauer = '" & strDauer & "'"
...
Hi Alexander,
habe mal Deinen Code getestet und bekomme auch einen 13er
Fehler.
Ursache:
Dei String ist kein String sondern ein Boolescher Ausdruck:
Ändere das Statement wie folgt:
rstCln.FindFirst "A_Beschreibung = '" &
strBeschreibung & _
"' And A_Datum = " & strDatum & _
" And A_Dauer = '" & strDauer & "'"
HTH
Danke und mit freundlichen Grüßen,
Stephan
Microsoft Corporate Support
(Microsoft kann für die Richtigkeit und Vollständigkeit
der Inhalte in dieser Newsgroup keine Haftung übernehmen.)
This posting is provided 'AS IS' with no warranties, and
confers no rights.
Please do not send email directly to this alias. This
alias is for newsgroup purposes only.
Antwort bitte nur in der Newsgroup.
>-----Originalnachricht-----
>
>>-----Originalnachricht-----
>>Ich bekomme bei dem Code immer Typen unverträglich
Fehler
>>13.
>
>....
>> rstCln.FindFirst "A_Beschreibung = '" &
>>strBeschreibung & "'" And "A_Datum = " & strDatum & ""
>>And "A_Dauer = '" & strDauer & "'"
>....
>
>Hi Alexander,
>
>habe mal Deinen Code getestet und bekomme auch einen 13er
>Fehler.
>
>Ursache:
>Dei String ist kein String sondern ein Boolescher
Ausdruck:
>Ändere das Statement wie folgt:
>
> rstCln.FindFirst "A_Beschreibung = '" &
>strBeschreibung & _
> "' And A_Datum = " & strDatum & _
> " And A_Dauer = '" & strDauer & "'"
>
>
>HTH
>Danke und mit freundlichen Grüßen,
>Stephan
>Microsoft Corporate Support
>
>(Microsoft kann für die Richtigkeit und Vollständigkeit
>der Inhalte in dieser Newsgroup keine Haftung übernehmen.)
>
>This posting is provided 'AS IS' with no warranties, and
>confers no rights.
>Please do not send email directly to this alias. This
>alias is for newsgroup purposes only.
>
>Antwort bitte nur in der Newsgroup.
>
>
>.
>
anon...@discussions.microsoft.com schrieb:
> rstCln.FindFirst "A_Beschreibung = '" &
> strBeschreibung & "'" And "A_Datum = '" & strDatum & "'"
> And "A_Dauer = '" & strDauer & "'"
Da sind Dir die " durcheinander gekommen, und Datümer sollte man in #
einschliessen. Versuch mal
rstCln.FindFirst "A_Beschreibung = '" & strBeschreibung & "' And
A_Datum = #" & strDatum & "# And A_Dauer = '" & strDauer & "'"
>> desambiguitiert hast.
Der kennt aber tolle Worte!
Gruss,
Juergen
"Alexander Bramm" <al...@slaughtermachine.de.nospam> schrieb im Newsbeitrag
news:238b501c45e98$f0f4ee00$a401...@phx.gbl...
Alexander Bramm schrieb:
> VB beschwert sich über den Unterstrich. Ich habe den Code
> aus deiner Antwort übernommen.
Der _ ist das Zeilenfortsetzungszeichen. Wenn Du alles in einer Zeile
hast, hat der da nix zu suchen.
Gruss,
Juergen
Hallo,
Der Unterstrich dient dazu Statements über mehrere Zeilen
zu verteilen. Links vom Unterstrich muss ein Leerzeichen
folgen. I.d.R. steht folgt nach dem _ der Zeilenumbruch.
Das Statement wird in der nächsten Zeile fortgeführt.
Also kann man es auch so schreiben
rstCln.FindFirst "A_Beschreibung = '" & _
Ich habe es eben auch mal mit dem ISO Datumsformat
probiert, doch dies hat leider nichts geholfen.
>-----Originalnachricht-----
>.
>
Gell, Quatschübersetzungen kommen oft gut.
Sollte mich aber noch stärker an den MS-Übersetzungen
von VBA-Funktionen orientieren. Vielleicht: "disZweiDeutet"
--
;-)
Gruß aus Mainz
Michael
Private Sub Form_Current()
'Dieser Code ermöglicht es die Datensätze auch im
Unterformular auszuwählen
Dim rstCln As DAO.Recordset
'1. Prüfen des Schlüssels, bei Null nicht ausführen
If Not IsNull(Me!A_Datum) And Not IsNull(Me!A_Dauer)
And Not IsNull(Me!A_Beschreibung) Then
'If Not IsNull(Me!A_Datum) Or IsNull(Me!A_Dauer) Or
IsNull(Me!A_Beschreibung) Then
'2. Recordset klonen
Set rstCln = Forms!
usr_Arbeitsnachweise_Übersicht.RecordsetClone
'3. im Klon suchen
Dim strDatum As String
Dim strDauer As String
Dim strBeschreibung As String
strDatum = Format(Me!A_Datum, "\#yyyy\-mm\-dd\#")
strDauer = Me!A_Dauer
strBeschreibung = Me!A_Beschreibung
rstCln.FindFirst "A_Beschreibung = '" &
strBeschreibung & "' And A_Datum = #" & strDatum & "# And
A_Dauer = '" & strDauer & "'"
If Not rstCln.NoMatch Then
'4. Wert gefunden -> Lesezeichen setzen
Forms!usr_Arbeitsnachweise_Übersicht.Bookmark =
rstCln.Bookmark
End If
'5. wieder aufräumen
End If
End Sub
Bald beiße ich glaube ich in die Tastatur.
Gibt es vielleicht noch weitere Tips? Vor lautern ",
Strings und ' sehe ich schon den Wald nicht mehr.
Vielen Dank
rstCln.FindFirst "A_Beschreibung = '" & strBeschreibung
& "' And A_Datum = #" & strDatum & "# And A_Dauer = '" &
strDauer & "'"
>-----Originalnachricht-----
>.
>
Du verdoppelst hier die Rauten:
strBeschreibung & "' And A_Datum = " & strDatum & " And
--
HTH
Alexander Bramm schrieb folgendes:
> die Typenunverträglichkeit ist endlich weg und es kam
> direkt der nächste Fehler ;(
> Syntaxfehler in Datum in Ausdruck Laufzeitfehler 3077. Das
> wird ordentlich strDatum geschrieben mit neuer
> Formatierung.
[snipp..]
> strDatum = Format(Me!A_Datum, "\#yyyy\-mm\-dd\#")
[snipp..]
> rstCln.FindFirst "A_Beschreibung = '" &
> strBeschreibung & "' And A_Datum = #" & strDatum & "# And
..und in dieser Zeile liegt Deine Fehler. So ist es richtig:
strBeschreibung & "' And A_Datum = " & strDatum & " And...
--
Gruß
Gunter
_________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com
Es liegt vermutlich wieder am Datum, da im Formular das
Datum im dt. Format steht während es hier jetzt in das ISO
Format umgewandelt ist.
Was kann ich denn jetzt zun?
Die Zeile, wo der Fehler auftritt sieht folgendermaßen aus:
rstCln.FindFirst "A_Beschreibung = '" & strBeschreibung
& "' And A_Datum = " & strDatum & " And A_Dauer = '" &
strDauer & "'"
Vielen Dank
>-----Originalnachricht-----
>Hallo Alexander,
>
>Alexander Bramm schrieb folgendes:
>
>> die Typenunverträglichkeit ist endlich weg und es kam
>> direkt der nächste Fehler ;(
>> Syntaxfehler in Datum in Ausdruck Laufzeitfehler 3077.
Das
>> wird ordentlich strDatum geschrieben mit neuer
>> Formatierung.
>[snipp..]
>
>> strDatum = Format(Me!A_Datum, "\#yyyy\-mm\-dd\#")
>
>[snipp..]
>> rstCln.FindFirst "A_Beschreibung = '" &
>> strBeschreibung & "' And A_Datum = #" & strDatum & "#
And
>
>...und in dieser Zeile liegt Deine Fehler. So ist es
Schau' doch mal im debug Modus nach, was in den einzelnen Variablen drin
steht, das ist die einfachste Methode. Wenn strDatum z.B. NULL ist, oder
A_Dauer ein numerisches Feld wäre, dann klappt das nicht. Die Datentypen
kannst Du halt nicht einfach so vermischen, das muss sauber sein.
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/AccessFAQ.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Ich habe vor Ausführung der Verkettung alle relevanten
Daten doch in als String definierte Variablen geschrieben.
Ich dachte damit wäre der Datenmischungskäse gegessen (ich
bin aber auch nur ein Laie).
Oder hat VB ein Problem mit dem Komma bei Dauer?
Vielen Dank
mfg Alex
>-----Originalnachricht-----
>.
>
Alexander Bramm wrote in news:242a201c45f3c$4bc366b0$a401...@phx.gbl:
> Hallo Henry,
> das habe ich schon geprüft.
> strBeschreibung = "blub"
> strDatum = "#2004-07-02#"
> strDauer = "4,8"
siehst Du, da haben wir ihn ja schon! strDauer ist eine Zahl, wenn ich
das richtig sehe, auch in der Datenbank als Zahl definiert. Du hast
aber:
1. Gänsefüsschen im SQL Statement drin
2. Eine Deutsche Ländereinstellung, die unglücklicherweise , statt die
vom SQL geforderten Punkte als Dezimaltrennzeichen in Formularfeldern
erzeugt.
Also zuerst mal mit den Gänsefüsschen weg und dann den Inhalt des
Formularfeldes in die interne Zahlennotation umwandeln. Wie's geht,
steht in der FAQ, diesmal ist es
http://www.donkarl.com/FAQ/FAQ6VBA.htm#6.21
Vielen Dank
>-----Originalnachricht-----
>.
>
anon...@discussions.microsoft.com wrote in
news:2468e01c45f6e$030113a0$a501...@phx.gbl:
> natürlich ist es eine Zahl, aber ich habe sie doch vorher
> in eine String Variable geschrieben. Also müsste Sie doch
> jetzt als String fungieren oder liege ich da falsch?
> So wie es im FAQ beschrieben ist funktioniert es auch
> nicht.
Nicht die Variable von VBA ist relevant, sondern der Felddatentyp der
Tabelle. Wenn dieser ein Text ist, dann braucht's hier '', wenn's ein
Datum ist, brauchts ## und wenn's eine Zahl ist braucht's nichts.
Schicken allerdings tust Du der Jet Engine ja immer einen String, den
diese dann wieder auseinanderzuddeln muss, aber in diesem String müssen
eben Texte und Datümer anders als Zahlen formattiert werden. Und Zahlen
müssen der amerikanischen Notation gehorchen, genau wie die Datümmer,
welche im Format #mm-dd-yyyy# übergeben werden müssen. Alles klar? Ich
glaube kaum, dass in der FAQ was anderes drin steht, vielleicht ein
bisschen einfacher formuliert, weil von Karl, dem Organisator der AEK,
aber sonst etwa gleichen Inhaltes.