vergelijken of werknemer al op deze datum staat ingepland

Status
Niet open voor verdere reacties.
nee geen haast , alleen zou fijn zijn als werkt .
heb hem gestuurd .
 
Lees nog eens na wat ik al in bericht #11 heb geschreven, en kijk dan naar de verbeterde code:
Code:
strSQL = "SELECT Werknemer,AanvG,datum FROM TblPlanning " _
    & "WHERE werknemer = " & Me.Werknemer & " " _
    & "And Aanvg = #" & CDate(Me.AanvG) & "# " _
    & "And datum = #" & CDate(Me.Datum) & "# "
Hint: het gaat niet over de regeleindes die ik heb weggehaald ;)
 
Heb je bovenstaande sql dan nog niet uitgeprobeerd? Die lost je probleem namelijk op.
 
octa bedankt vast
heb hem er nu in gebouwd maar hij geeft niet aan dat er een dubbele invoer bestaat zoals de msgbox zou moeten geven.
idee???
 
octa denk dat ik het weet of beter gezegd ik weet waar het aan licht.
de datum word in de uitlezing word omgezet in 3-4-2015 in de invoer is 4-3-2015
hoe is dit makkelijk te onder vangen?
 
Dat probleem (is 3-4 nu 3 april of 4 maart?) komt doordat je met Amerikaanse datums werkt in VBA en je in je db Nederlandse notatie gebruikt. En dat loopt dan inderdaad fout. Zelf doe ik het dan ook meestal anders, ik zet de datum die ik uitlees om naar een getal en converteer dat in de query weer terug naar een datum. Dan krijg je dit:
Code:
strSQL = "SELECT Werknemer, AanvG, Datum FROM TblPlanning " _
    & "WHERE werknemer = " & Me.Werknemer & " " _
    & "And Aanvg = TimeValue(" & Format(Me.AanvG, "hh:mm:ss") & ") " _
    & "And datum = CDate(" & CDbl(Me.Datum) & ") "
Ik weet overigens niet of de Timevalue variant werkt, niet uitgetest. Ik gebruik dit soort constructies meestal alleen op datums.
 
heb geprobeerd maar werkt niet
de datum word dus omgedraaid in de query, dat moet ik dus oplossen .
 
Dat doet mijn code.
 
ja bij tijd maar moet datum zijn he
heb het getest door handmatig de datum om te zetten en dan werkt scrip, nu dus nog even zo dat de datums overeen komen .
ben er druk mee bezig .
maar elke oplossing is welkom
 
Code:
strSQL = "SELECT Werknemer,AanvG,datum FROM TblPlanning " _
    & "WHERE werknemer = " & Me.Werknemer & " " _
    & "And Aanvg = #" & CDate(Me.AanvG) & "# " _
    & "And datum = DateValue(" & Format(Me.Datum, "mm/dd/yyyy") & "#"
    
    ''& "And datum = #" & CDate(Me.Datum) & "# "
    
Dim tmp
tmp = InputBox("", "", strSQL)


 With CurrentDb.OpenRecordset(strSQL)
     If .RecordCount > 0 Then
          MsgBox "Dit record bestaat al"
     Else
          'het record opslaan
     End If

heb er dit van gemaakt maar geeft dan weer aan dat er fout in zit .
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan