Problème d'utilisation Dlookup

Problème d'utilisation Dlookup Utilisation dlookup » Forum - Access Utilisation dlookup » Forum - Access Utilisation de Dlookup » Forum - Access Changer nom utilisateur windows 10 (Résolu) » Forum - Windows 10 Vous n'utilisez pas actuellement d'écran connecté à un processeur graphique nvidia » Forum - Carte graphique

Bonjour à tous,

Voici une brève explication de ce que je veux faire:
J'ai un formulaire où je saisie une date de début et une date de fin.
Je veux créer un enregistrement par date du début à la fin mais seulement s'il n'existe pas. J'ai regardé pas mal de forum, ne connaissant rien au DAO (et mes connaissances étant limité en vba) j'ai vu une alternative avec la fonction Dlookup.

Voici mon code:

Private Sub BOUTON_CREER_Click()
Dim occurence As Integer
Dim date_temp As Date
Dim rech As Date
occurence = DateDiff("d", DATE_DEB, DATE_FIN) + 1
For i = 1 To occurence
date_temp = DATE_DEB + i - 1
rech = Nz(DLookup("[DATE_JOUR]", "REPARTITION_TPS_REELLE", "[DATE_JOUR] =" & date_temp), "01/01/1900")
MsgBox (date_temp & " " & rech)
Next
End If
End Sub

La fonction ne fonctionne pas car même si la date existe dans ma table j'ai toujours la valeur par défaut qui s'affiche... j'ai également essayé de ne mettre que date_temp dans le critère mais dans ce cas c'est toujours la date de début qui s'affiche.

Sauriez-vous d'où cela vient?

Je vous remercie d'avance.

Forum

Problème d'utilisation Dlookup Utilisation dlookup » Forum - Access Utilisation dlookup » Forum - Access Utilisation de Dlookup » Forum - Access Changer nom utilisateur windows 10 (Résolu) » Forum - Windows 10 Vous n'utilisez pas actuellement d'écran connecté à un processeur graphique nvidia » Forum - Carte graphique

Web: www.shapebootstrap.net

2 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

En allant sur un autre forum j'ai trouvé la solution :
rech = Nz(DLookup("[DATE_JOUR]", "REPARTITION_TPS_REELLE", "[DATE_JOUR] =#" & Format(date_temp, "mm/dd/yyyy") & "#"), "01/01/1900")

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonsoir, je ferais ainsi (désolé, avec DAO):

option explicit Private Sub BOUTON_CREER_Click() Dim date_temp As Date Dim db As DAO.Database, tb As DAO.Recordset  Set db = CurrentDb Set tb = db.OpenRecordset("REPARTITION_TPS_REELLE", dbOpenDynaset) date_temp = CLng(DATE_DEB) Do While date_temp <= DATE_FIN     tb.FindFirst ("DATE_JOUR = " & CLng(date_temp))     If tb.NoMatch Then         tb.AddNew         tb!DATE_JOUR = date_temp         tb.Update     End If     date_temp = date_temp + 1 Loop 'Do While date_temp <= DATE_FIN End Sub

Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed