OVH Cloud OVH Cloud

probleme de date

8 réponses
Avatar
denis
voici mon code:
If MsgBox("Vous allez activer le nouveau PRC en date du : " + str(Date) + ".
Voulez-vous continuez?", vbYesNo + vbQuestion, "Mise à jour PRC") = vbYes Then
'recuperation de tous les PRC
sql = "SELECT ARTICLE.[Id_article], ARTICLE.[Date_application_prix],
ARTICLE.[art_prc_ht_actif], ARTICLE.[art_prc_ht] FROM Article WHERE
(ARTICLE.[Id_article]=" + str(Me![ID_article]) + ");"
Set Db = CurrentDb()
Set result = Db.OpenRecordset(sql, dbOpenSnapshot)
If (result.RecordCount <> 0) Then
'tranfert du PRC actif dans la table histo_prc
sqlINS = "INSERT INTO HISTO_PRC ( Cod_article,
Date_debut_validite, Montant_prc ) "
sqlINS = sqlINS + "SELECT " + str(result![ID_article]) + ", " +
str(result![Date_application_prix]) + ", " + str(result![Art_prc_ht_actif]) +
";"
Call RunSql(sqlINS)
'attribution de la date du jour a la date d'application des prix
du new prc
' et affectation du new PRC
sqlUPD = "UPDATE ARTICLE SET ARTICLE.[Date_application_prix] =
left( now , 2005), ARTICLE.[Art_prc_ht_actif] = ARTICLE.[Art_prc_ht] "
sqlUPD = sqlUPD + "WHERE ARTICLE.[Id_article] = " +
str(result![ID_article]) + ";"
Call RunSql(sqlUPD)
End If
Me.Refresh
Forms("Article gestion").Requery
End If
je trouve la date 30/12/1899 dans [date_application_prix] et toutes mes
dates sont au format date,abrégé.
Merci de votre aide!!

8 réponses

Avatar
Patrice
Bonjour,

Utilise le & à la place de +


voici mon code:
If MsgBox("Vous allez activer le nouveau PRC en date du : " + str(Date) + ".
Voulez-vous continuez?", vbYesNo + vbQuestion, "Mise à jour PRC") = vbYes Then
'recuperation de tous les PRC
sql = "SELECT ARTICLE.[Id_article], ARTICLE.[Date_application_prix],
ARTICLE.[art_prc_ht_actif], ARTICLE.[art_prc_ht] FROM Article WHERE
(ARTICLE.[Id_article]=" + str(Me![ID_article]) + ");"
Set Db = CurrentDb()
Set result = Db.OpenRecordset(sql, dbOpenSnapshot)
If (result.RecordCount <> 0) Then
'tranfert du PRC actif dans la table histo_prc
sqlINS = "INSERT INTO HISTO_PRC ( Cod_article,
Date_debut_validite, Montant_prc ) "
sqlINS = sqlINS + "SELECT " + str(result![ID_article]) + ", " +
str(result![Date_application_prix]) + ", " + str(result![Art_prc_ht_actif]) +
";"
Call RunSql(sqlINS)
'attribution de la date du jour a la date d'application des prix
du new prc
' et affectation du new PRC
sqlUPD = "UPDATE ARTICLE SET ARTICLE.[Date_application_prix] =
left( now , 2005), ARTICLE.[Art_prc_ht_actif] = ARTICLE.[Art_prc_ht] "
sqlUPD = sqlUPD + "WHERE ARTICLE.[Id_article] = " +
str(result![ID_article]) + ";"
Call RunSql(sqlUPD)
End If
Me.Refresh
Forms("Article gestion").Requery
End If
je trouve la date 30/12/1899 dans [date_application_prix] et toutes mes
dates sont au format date,abrégé.
Merci de votre aide!!


Avatar
3stone
Salut,

"denis"
| voici mon code:
| If MsgBox("Vous allez activer le nouveau PRC en date du : " + str(Date) + ".
| Voulez-vous continuez?", vbYesNo + vbQuestion, "Mise à jour PRC") = vbYes Then
| 'recuperation de tous les PRC
| sql = "SELECT ARTICLE.[Id_article], ARTICLE.[Date_application_prix],
| ARTICLE.[art_prc_ht_actif], ARTICLE.[art_prc_ht] FROM Article WHERE
| (ARTICLE.[Id_article]=" + str(Me![ID_article]) + ");"


Place ici un Debug.print sql ou MsgBox sql

cela te permet de vérifier la chaîne SQL qui est sûrement fausse...


| sqlINS = "INSERT INTO HISTO_PRC ( Cod_article,
| Date_debut_validite, Montant_prc ) "
| sqlINS = sqlINS + "SELECT " + str(result![ID_article]) + ", " +
| str(result![Date_application_prix]) + ", " + str(result![Art_prc_ht_actif]) +
| ";"

MsgBox sqlINS



| Call RunSql(sqlINS)
| 'attribution de la date du jour a la date d'application des prix
| du new prc
| ' et affectation du new PRC
| sqlUPD = "UPDATE ARTICLE SET ARTICLE.[Date_application_prix] =
| left( now , 2005), ARTICLE.[Art_prc_ht_actif] = ARTICLE.[Art_prc_ht] "
| sqlUPD = sqlUPD + "WHERE ARTICLE.[Id_article] = " +
| str(result![ID_article]) + ";"

msgbox sqlUPD



| Call RunSql(sqlUPD)
| End If
| Me.Refresh
| Forms("Article gestion").Requery
| End If
| je trouve la date 30/12/1899 dans [date_application_prix] et toutes mes
| dates sont au format date,abrégé.

C'est la preuve qu'aucune date valide est enregistréee...
puisque le 30/12/1899 est la date "0" (zéro)

Quant au format, ce n'est qu'un... format d'affichage...
Dès qu'un champ contient une date valide, tu peux spécifier n'importe
quel format d'affichage.

PS: Et comme le dit Patrice, utilise le signe "&" pour concaténer et non "+"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
denis
d'abord merci à tous les deux de votre aide, j'ai modifie les + en & mais je
n'arrive pas à avoir une date valide dans la table HISTO_PRC mais dans la
table article c'est bon, comment ca se fait que le transfert d'une table à
l'autre ne marche pas?


Salut,

"denis"
| voici mon code:
| If MsgBox("Vous allez activer le nouveau PRC en date du : " + str(Date) + ".
| Voulez-vous continuez?", vbYesNo + vbQuestion, "Mise à jour PRC") = vbYes Then
| 'recuperation de tous les PRC
| sql = "SELECT ARTICLE.[Id_article], ARTICLE.[Date_application_prix],
| ARTICLE.[art_prc_ht_actif], ARTICLE.[art_prc_ht] FROM Article WHERE
| (ARTICLE.[Id_article]=" + str(Me![ID_article]) + ");"


Place ici un Debug.print sql ou MsgBox sql

cela te permet de vérifier la chaîne SQL qui est sûrement fausse...


| sqlINS = "INSERT INTO HISTO_PRC ( Cod_article,
| Date_debut_validite, Montant_prc ) "
| sqlINS = sqlINS + "SELECT " + str(result![ID_article]) + ", " +
| str(result![Date_application_prix]) + ", " + str(result![Art_prc_ht_actif]) +
| ";"

MsgBox sqlINS



| Call RunSql(sqlINS)
| 'attribution de la date du jour a la date d'application des prix
| du new prc
| ' et affectation du new PRC
| sqlUPD = "UPDATE ARTICLE SET ARTICLE.[Date_application_prix] =
| left( now , 2005), ARTICLE.[Art_prc_ht_actif] = ARTICLE.[Art_prc_ht] "
| sqlUPD = sqlUPD + "WHERE ARTICLE.[Id_article] = " +
| str(result![ID_article]) + ";"

msgbox sqlUPD



| Call RunSql(sqlUPD)
| End If
| Me.Refresh
| Forms("Article gestion").Requery
| End If
| je trouve la date 30/12/1899 dans [date_application_prix] et toutes mes
| dates sont au format date,abrégé.

C'est la preuve qu'aucune date valide est enregistréee...
puisque le 30/12/1899 est la date "0" (zéro)

Quant au format, ce n'est qu'un... format d'affichage...
Dès qu'un champ contient une date valide, tu peux spécifier n'importe
quel format d'affichage.

PS: Et comme le dit Patrice, utilise le signe "&" pour concaténer et non "+"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw





Avatar
3stone
Salut,

"denis"
| d'abord merci à tous les deux de votre aide, j'ai modifie les + en & mais je
| n'arrive pas à avoir une date valide dans la table HISTO_PRC mais dans la
| table article c'est bon, comment ca se fait que le transfert d'une table à
| l'autre ne marche pas?


C'est quoi :

left( now , 2005)


?



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
denis
c est pour modifier la date article.[date_application_prix] en date du jour,
j ai vu qlquq part qu'il fallait utiliser la fonction left


Salut,

"denis"
| d'abord merci à tous les deux de votre aide, j'ai modifie les + en & mais je
| n'arrive pas à avoir une date valide dans la table HISTO_PRC mais dans la
| table article c'est bon, comment ca se fait que le transfert d'une table à
| l'autre ne marche pas?


C'est quoi :

left( now , 2005)


?



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
denis
il me met operateur absent avec debug.print


Salut,

"denis"
| d'abord merci à tous les deux de votre aide, j'ai modifie les + en & mais je
| n'arrive pas à avoir une date valide dans la table HISTO_PRC mais dans la
| table article c'est bon, comment ca se fait que le transfert d'une table à
| l'autre ne marche pas?


C'est quoi :

left( now , 2005)


?



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
denis
svp help !!


il me met operateur absent avec debug.print


Salut,

"denis"
| d'abord merci à tous les deux de votre aide, j'ai modifie les + en & mais je
| n'arrive pas à avoir une date valide dans la table HISTO_PRC mais dans la
| table article c'est bon, comment ca se fait que le transfert d'une table à
| l'autre ne marche pas?


C'est quoi :

left( now , 2005)


?



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw






Avatar
denis
j ai trouvé il fallait mettre:
"'" & str(date_...) & "'"
merci encore a pierre et patrice


svp help !!


il me met operateur absent avec debug.print


Salut,

"denis"
| d'abord merci à tous les deux de votre aide, j'ai modifie les + en & mais je
| n'arrive pas à avoir une date valide dans la table HISTO_PRC mais dans la
| table article c'est bon, comment ca se fait que le transfert d'une table à
| l'autre ne marche pas?


C'est quoi :

left( now , 2005)


?



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw