Springen naar inhoud


- - - - -
Solved

Ophalen Datum

Date

  • Log in a.u.b. om te beantwoorden
Er zijn 9 reacties in dit onderwerp

#1 pover

pover

    Starting Developer

  • Leden
  • 6 berichten
    Laatst bezocht 13 mrt 2013 10:05

Geplaatst op 23 januari 2013 - 15:08

Bij het herschrijven van mijn code constateer ik een probleem bij het ophalen van data uit een tabel.  Wat doe ik mis ?

Code:
Set AppelRst = CurrentDb.OpenRecordset("SELECT * FROM dbo_appel WHERE tbl_appel_datum = #" & Format(Me.Kalender, "mm/dd/yyyy") & "#")


run-time error '13':
type mismatch

als ik gewoon verwijs naar me.kalender krijg ik error '3464' data type mismatch in criteria expression.
dit werkt niet meer in access 2010.

#2 guest_ingrid_*

guest_ingrid_*
  • Gasten
    Laatst bezocht

Geplaatst op 23 januari 2013 - 16:14

En als je er dit van maakt (dus enkele quotes toevoegt):

Code:
Set AppelRst = CurrentDb.OpenRecordset("SELECT * FROM dbo_appel WHERE tbl_appel_datum = '#" & Format(Me.Kalender, "mm/dd/yyyy") & "#'")  



#3 pover

pover

    Starting Developer

  • Leden
  • 6 berichten
    Laatst bezocht 13 mrt 2013 10:05

Geplaatst op 23 januari 2013 - 16:18

Steeds andere error
run-time error '3464' data type mismatch in criteria expression
had ik al geprobeerd.
Nog een suggestie ? ,  Ik geraak er niet uit.

#4 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 23 januari 2013 - 23:38

en wat is 'dbo_appel' ?
en wat is 'tbl_appel_datum' ?
en wat is 'Me.Kalender' ?
en wat tracht u eigenlijk te doen ?

#5 pover

pover

    Starting Developer

  • Leden
  • 6 berichten
    Laatst bezocht 13 mrt 2013 10:05

Geplaatst op 25 januari 2013 - 12:04

DBO_appel is de tabel
tbl_appel_datum is het field in de tabel
en me.kalender is een text veld datum op de form
ik tracht nu de records op te halen van de ingevulde datum op de form.

Code:
Private Sub cmd_Appel_Click()
Dim AppelRst As Recordset
Dim PersRst As Recordset
	If IsNull(Me.Peloton) Then
		MsgBox "U dient een plaats te selecteren", vbOKOnly, "Selecteer Plaats"
	Else
	   'Set AppelRst = CurrentDb.OpenRecordset("SELECT * FROM dbo_appel WHERE tbl_appel_datum = #" & Format(Me.Kalender, "mm/dd/yyyy") & "#")
	   Set AppelRst = CurrentDb.OpenRecordset("SELECT * FROM dbo_appel WHERE tbl_appel_datum = '#" & Format(Me.Kalender, "mm/dd/yyyy") & "#'")
		If AppelRst.EOF Then
			Set PersRst = CurrentDb.OpenRecordset("dbo_TBL_Personeel")
			PersRst.MoveFirst
			While Not PersRst.EOF
				AppelRst.AddNew
				AppelRst![tbl_appel_stamnr] = PersRst![Stamnr]
				AppelRst![tbl_appel_toestand] = ""
				AppelRst![tbl_appel_datum] = Me.Kalender
				AppelRst.Update
				PersRst.MoveNext
			Wend
		End If
		DoCmd.OpenForm "PlAppel_Frm"
	End If
End Sub



#6 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 25 januari 2013 - 14:06

de enkele quotes zijn overbodig
bent u zeker dat de tekst in me.kalender een datum is ?
test dat met
if isdate(me.kalender) then


test ook uw sql met
msgbox ("SELECT * FROM dbo_appel WHERE tbl_appel_datum = #" & Format(Me.Kalender, "mm/dd/yyyy") & "#")  
zo ziet u of er geen fouten instaan


u gebruikt wel heel creatieve namen voor tabellen en velden

#7 pover

pover

    Starting Developer

  • Leden
  • 6 berichten
    Laatst bezocht 13 mrt 2013 10:05

Geplaatst op 25 januari 2013 - 14:45

De tekst in me.kalender is zeker een datum
heb volgende geprobeerd
Code:
Else
	 If IsDate(Me.Kalender) Then
	 MsgBox ("SELECT * FROM dbo_appel WHERE tbl_appel_datum = " & Format(Me.Kalender, "dd/mm/yyyy") & "")
	 End If
	 'Set AppelRst = CurrentDb.OpenRecordset("SELECT * FROM dbo_appel WHERE tbl_appel_datum = #" & Format(Me.Kalender, "mm/dd/yyyy") & "#")
	 Set AppelRst = CurrentDb.OpenRecordset("SELECT * FROM dbo_appel WHERE tbl_appel_datum = " & Format(Me.Kalender, "dd/mm/yyyy") & "")
	 If AppelRst.EOF Then
		 Set PersRst = CurrentDb.OpenRecordset("dbo_TBL_Personeel")
		 PersRst.MoveFirst
		 While Not PersRst.EOF
			 AppelRst.AddNew
			 AppelRst![tbl_appel_stamnr] = PersRst![Stamnr]
			 AppelRst![tbl_appel_toestand] = ""
			 AppelRst![tbl_appel_datum] = Me.Kalender
			 AppelRst.Update
			 PersRst.MoveNext
		 Wend
	 End If


msgbox werkt en geeft resultaat  select * from dbo_appel WHERE tbl_appel_datum = 25/01/2013

daarna run-time error '13':
type mismatch

#8 pover

pover

    Starting Developer

  • Leden
  • 6 berichten
    Laatst bezocht 13 mrt 2013 10:05

Geplaatst op 25 januari 2013 - 15:17

Mag op slot .
Blijkbaar bij gelinkte tabellen moet de db die ik nu gebruik (access2010) en de gelinkte tabellen waren (access2003) eerst overgezet worden naar 2010.
Thx Jenny :blush:

#9 RedThread

RedThread

    Beheerder VBIB

  • Beheerder
  • 3600 berichten
    Laatst bezocht 06 feb 2020 16:38
  • LocatieTongeren,Belgium.
Inzender

Geplaatst op 25 januari 2013 - 16:12

dank voor het melden pover van de oplossing (en Jenny voor het bijdragen tot ;) )

#10 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 25 januari 2013 - 22:58

Bericht bekijkenpover, op 25 januari 2013 - 14:45, zei:

msgbox werkt en geeft resultaat  select * from dbo_appel WHERE tbl_appel_datum = 25/01/2013
daarna run-time error '13':
type mismatch
msgbox werkt uiteraard,maar:
select * from dbo_appel WHERE tbl_appel_datum = 25/01/2013
zal uiteraard foutlopen omdat :
1)er geen hekjes (#) rond de datum staan
2)er geen 25ste maand bestaat
de standaard is amerikaanse datum formaat gebruiken (mm/dd/yyyy)
als u op veilig wil spelen gebruik dan het internationaal formaat (yyyy/mm/dd)
enkel in de query generator van access kan u dd/mm/yyyy gebruiken
bekijk eens wat de sql weergave van die dd/mm/yyyy maakt

Bericht bekijkenpover, op 25 januari 2013 - 15:17, zei:

Blijkbaar bij gelinkte tabellen moet de db die ik nu gebruik (access2010) en de gelinkte tabellen waren (access2003) eerst overgezet worden naar 2010.
er is geen enkele reden waarom gelinkte tabellen van access2003 in access2010 het access2007/2010 formaat zouden moeten hebben





Ook met taq Solved, Date voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[Solved] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)