Bonsoir à tous,
dans une requete destinée à une base Access je souhaite supprimer la date
dans un champ date.
J'ai écrit ceci mais cela ne fonctionne pas :
SQL = "Update Gestion"
SQL = SQL & " set DateDebut = Null,"
SQL = SQL & " DateFin = Null"
SQL = SQL & " where Numero = " & Index
Cmd.CommandText = SQL
Set Rs = Cmd.Execute
Set Rs = Nothing
J'ai essayé vbNull sans plus de succès.
Dans la base, les champs concernés ont la propriété "Null interdit" à Non.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-marc
Daniel AUBRY wrote:
Bonsoir à tous, dans une requete destinée à une base Access je souhaite supprimer la date dans un champ date. J'ai écrit ceci mais cela ne fonctionne pas :
SQL = "Update Gestion" SQL = SQL & " set DateDebut = Null," SQL = SQL & " DateFin = Null" SQL = SQL & " where Numero = " & Index
Cmd.CommandText = SQL Set Rs = Cmd.Execute Set Rs = Nothing
J'ai essayé vbNull sans plus de succès.
Dans la base, les champs concernés ont la propriété "Null interdit" à Non. Si quelqu'un a une p'tite idée............
Hello Daniel,
j'ai fait la même manip, en créant une base contenant une table nommée Gestion2, avec 3 champs: Numero, de type NumeroAuto et les 2 champs DateDebut et DateFin, tous deux de type Date/Heure.
J'ai ensuite créé 3 records (1, 2 et 3) en initialisant les champs dates avec une valeur quelconque.
Puis j'ai fait un programme VB (avec DAO) et exévuté ceci:
Je ne vois pas trop ce qui peut ne pas marcher chez toi.
Il serait utile que tu ajoutes des renseignements, notamment que tu dises ce qui ne va pas : message d'erreur ? plantage ? Rien ne se passe ?
Je serais toi j'ajouterais un debug.print SQL juste avant l'exécution, juste pour bien visualiser la requête et voir si par exemple Index à une valeur correcte, etc.
En tout cas, ça doit marcher, rien ne l'empêche sur le principe.
Bonsoir à tous,
dans une requete destinée à une base Access je souhaite supprimer la
date dans un champ date.
J'ai écrit ceci mais cela ne fonctionne pas :
SQL = "Update Gestion"
SQL = SQL & " set DateDebut = Null,"
SQL = SQL & " DateFin = Null"
SQL = SQL & " where Numero = " & Index
Cmd.CommandText = SQL
Set Rs = Cmd.Execute
Set Rs = Nothing
J'ai essayé vbNull sans plus de succès.
Dans la base, les champs concernés ont la propriété "Null interdit" à
Non.
Si quelqu'un a une p'tite idée............
Hello Daniel,
j'ai fait la même manip, en créant une base contenant une
table nommée Gestion2, avec 3 champs:
Numero, de type NumeroAuto et les 2 champs DateDebut et DateFin, tous deux
de type Date/Heure.
J'ai ensuite créé 3 records (1, 2 et 3) en initialisant les champs dates
avec une valeur quelconque.
Puis j'ai fait un programme VB (avec DAO) et exévuté ceci:
Je ne vois pas trop ce qui peut ne pas marcher chez toi.
Il serait utile que tu ajoutes des renseignements, notamment que tu dises
ce qui ne va pas : message d'erreur ? plantage ? Rien ne se passe ?
Je serais toi j'ajouterais un debug.print SQL juste avant l'exécution, juste
pour bien visualiser la requête et voir si par exemple Index à une valeur
correcte, etc.
En tout cas, ça doit marcher, rien ne l'empêche sur le principe.
Bonsoir à tous, dans une requete destinée à une base Access je souhaite supprimer la date dans un champ date. J'ai écrit ceci mais cela ne fonctionne pas :
SQL = "Update Gestion" SQL = SQL & " set DateDebut = Null," SQL = SQL & " DateFin = Null" SQL = SQL & " where Numero = " & Index
Cmd.CommandText = SQL Set Rs = Cmd.Execute Set Rs = Nothing
J'ai essayé vbNull sans plus de succès.
Dans la base, les champs concernés ont la propriété "Null interdit" à Non. Si quelqu'un a une p'tite idée............
Hello Daniel,
j'ai fait la même manip, en créant une base contenant une table nommée Gestion2, avec 3 champs: Numero, de type NumeroAuto et les 2 champs DateDebut et DateFin, tous deux de type Date/Heure.
J'ai ensuite créé 3 records (1, 2 et 3) en initialisant les champs dates avec une valeur quelconque.
Puis j'ai fait un programme VB (avec DAO) et exévuté ceci:
Je ne vois pas trop ce qui peut ne pas marcher chez toi.
Il serait utile que tu ajoutes des renseignements, notamment que tu dises ce qui ne va pas : message d'erreur ? plantage ? Rien ne se passe ?
Je serais toi j'ajouterais un debug.print SQL juste avant l'exécution, juste pour bien visualiser la requête et voir si par exemple Index à une valeur correcte, etc.
En tout cas, ça doit marcher, rien ne l'empêche sur le principe.
je travaille avec ADO et non DAO : c'est peut être le motif. Le message d'erreur est que je ne peut affecter une valeur nulle à ce champ. Sans aller jusqu'à VB, il suffit de faire une requete de type mise à jour dans Access 2003 et le message d'erreur est le même !!
Dany
"Jean-marc" a écrit dans le message de news: 476c2d82$0$29247$
Daniel AUBRY wrote:
Bonsoir à tous, dans une requete destinée à une base Access je souhaite supprimer la date dans un champ date. J'ai écrit ceci mais cela ne fonctionne pas :
SQL = "Update Gestion" SQL = SQL & " set DateDebut = Null," SQL = SQL & " DateFin = Null" SQL = SQL & " where Numero = " & Index
Cmd.CommandText = SQL Set Rs = Cmd.Execute Set Rs = Nothing
J'ai essayé vbNull sans plus de succès.
Dans la base, les champs concernés ont la propriété "Null interdit" à Non. Si quelqu'un a une p'tite idée............
Hello Daniel,
j'ai fait la même manip, en créant une base contenant une table nommée Gestion2, avec 3 champs: Numero, de type NumeroAuto et les 2 champs DateDebut et DateFin, tous deux de type Date/Heure.
J'ai ensuite créé 3 records (1, 2 et 3) en initialisant les champs dates avec une valeur quelconque.
Puis j'ai fait un programme VB (avec DAO) et exévuté ceci:
Je ne vois pas trop ce qui peut ne pas marcher chez toi.
Il serait utile que tu ajoutes des renseignements, notamment que tu dises ce qui ne va pas : message d'erreur ? plantage ? Rien ne se passe ?
Je serais toi j'ajouterais un debug.print SQL juste avant l'exécution, juste pour bien visualiser la requête et voir si par exemple Index à une valeur correcte, etc.
En tout cas, ça doit marcher, rien ne l'empêche sur le principe.
je travaille avec ADO et non DAO : c'est peut être le motif.
Le message d'erreur est que je ne peut affecter une valeur nulle à ce champ.
Sans aller jusqu'à VB, il suffit de faire une requete de type mise à jour
dans Access 2003 et le message d'erreur est le même !!
Dany
"Jean-marc" <NO_SPAM_jean_marc_n2@yahoo.fr.invalid> a écrit dans le message
de news: 476c2d82$0$29247$ba620e4c@news.skynet.be...
Daniel AUBRY wrote:
Bonsoir à tous,
dans une requete destinée à une base Access je souhaite supprimer la
date dans un champ date.
J'ai écrit ceci mais cela ne fonctionne pas :
SQL = "Update Gestion"
SQL = SQL & " set DateDebut = Null,"
SQL = SQL & " DateFin = Null"
SQL = SQL & " where Numero = " & Index
Cmd.CommandText = SQL
Set Rs = Cmd.Execute
Set Rs = Nothing
J'ai essayé vbNull sans plus de succès.
Dans la base, les champs concernés ont la propriété "Null interdit" à
Non.
Si quelqu'un a une p'tite idée............
Hello Daniel,
j'ai fait la même manip, en créant une base contenant une
table nommée Gestion2, avec 3 champs:
Numero, de type NumeroAuto et les 2 champs DateDebut et DateFin, tous deux
de type Date/Heure.
J'ai ensuite créé 3 records (1, 2 et 3) en initialisant les champs dates
avec une valeur quelconque.
Puis j'ai fait un programme VB (avec DAO) et exévuté ceci:
Je ne vois pas trop ce qui peut ne pas marcher chez toi.
Il serait utile que tu ajoutes des renseignements, notamment que tu dises
ce qui ne va pas : message d'erreur ? plantage ? Rien ne se passe ?
Je serais toi j'ajouterais un debug.print SQL juste avant l'exécution,
juste
pour bien visualiser la requête et voir si par exemple Index à une valeur
correcte, etc.
En tout cas, ça doit marcher, rien ne l'empêche sur le principe.
je travaille avec ADO et non DAO : c'est peut être le motif. Le message d'erreur est que je ne peut affecter une valeur nulle à ce champ. Sans aller jusqu'à VB, il suffit de faire une requete de type mise à jour dans Access 2003 et le message d'erreur est le même !!
Dany
"Jean-marc" a écrit dans le message de news: 476c2d82$0$29247$
Daniel AUBRY wrote:
Bonsoir à tous, dans une requete destinée à une base Access je souhaite supprimer la date dans un champ date. J'ai écrit ceci mais cela ne fonctionne pas :
SQL = "Update Gestion" SQL = SQL & " set DateDebut = Null," SQL = SQL & " DateFin = Null" SQL = SQL & " where Numero = " & Index
Cmd.CommandText = SQL Set Rs = Cmd.Execute Set Rs = Nothing
J'ai essayé vbNull sans plus de succès.
Dans la base, les champs concernés ont la propriété "Null interdit" à Non. Si quelqu'un a une p'tite idée............
Hello Daniel,
j'ai fait la même manip, en créant une base contenant une table nommée Gestion2, avec 3 champs: Numero, de type NumeroAuto et les 2 champs DateDebut et DateFin, tous deux de type Date/Heure.
J'ai ensuite créé 3 records (1, 2 et 3) en initialisant les champs dates avec une valeur quelconque.
Puis j'ai fait un programme VB (avec DAO) et exévuté ceci:
Je ne vois pas trop ce qui peut ne pas marcher chez toi.
Il serait utile que tu ajoutes des renseignements, notamment que tu dises ce qui ne va pas : message d'erreur ? plantage ? Rien ne se passe ?
Je serais toi j'ajouterais un debug.print SQL juste avant l'exécution, juste pour bien visualiser la requête et voir si par exemple Index à une valeur correcte, etc.
En tout cas, ça doit marcher, rien ne l'empêche sur le principe.
je travaille avec ADO et non DAO : c'est peut être le motif.
Non.
Le message d'erreur est que je ne peut affecter une valeur nulle à ce champ. Sans aller jusqu'à VB, il suffit de faire une requete de type mise à jour dans Access 2003 et le message d'erreur est le même !!
Alors le problème est ailleurs: 1) on peut mettre un champ à NUL, qq soit son type 2) Les raisons pour l'erreur peuvent être: - une violation de contrainte (genre null interdit, mais pas seulement) - une erreur autre dans la requête, qui provoque un message d'erreur bizarre ou erroné.
Pour débugger: - créer une nouvelle base - créer une table - mettre 2 champs (numero et date, de type auto et Date/Heure) - créer 2 ou 3 records - faire un SET pour mettre un ou plusieurs champs date à NULL
Si ça marche (et ça va marcher!) il ne reste plus qu'à comparer avec ton autre base pour trouver la/les différence(s).
je travaille avec ADO et non DAO : c'est peut être le motif.
Non.
Le message d'erreur est que je ne peut affecter une valeur nulle à ce
champ. Sans aller jusqu'à VB, il suffit de faire une requete de type
mise à jour dans Access 2003 et le message d'erreur est le même !!
Alors le problème est ailleurs:
1) on peut mettre un champ à NUL, qq soit son type
2) Les raisons pour l'erreur peuvent être:
- une violation de contrainte (genre null interdit, mais pas seulement)
- une erreur autre dans la requête, qui provoque un message d'erreur
bizarre ou erroné.
Pour débugger:
- créer une nouvelle base
- créer une table
- mettre 2 champs (numero et date, de type auto et Date/Heure)
- créer 2 ou 3 records
- faire un SET pour mettre un ou plusieurs champs date à NULL
Si ça marche (et ça va marcher!) il ne reste plus qu'à comparer
avec ton autre base pour trouver la/les différence(s).
je travaille avec ADO et non DAO : c'est peut être le motif.
Non.
Le message d'erreur est que je ne peut affecter une valeur nulle à ce champ. Sans aller jusqu'à VB, il suffit de faire une requete de type mise à jour dans Access 2003 et le message d'erreur est le même !!
Alors le problème est ailleurs: 1) on peut mettre un champ à NUL, qq soit son type 2) Les raisons pour l'erreur peuvent être: - une violation de contrainte (genre null interdit, mais pas seulement) - une erreur autre dans la requête, qui provoque un message d'erreur bizarre ou erroné.
Pour débugger: - créer une nouvelle base - créer une table - mettre 2 champs (numero et date, de type auto et Date/Heure) - créer 2 ou 3 records - faire un SET pour mettre un ou plusieurs champs date à NULL
Si ça marche (et ça va marcher!) il ne reste plus qu'à comparer avec ton autre base pour trouver la/les différence(s).
effectivement, j'ai suivi ton conseil (avisé) et ça marche. Les champs date concernés ont été créés après la table avec ADOX : (évolution d'une base à distance)
Dim Cat As ADOX.Catalog Dim Col As ADOX.Column
Set Cat = New ADOX.Catalog Cat.ActiveConnection = ChaineConnect
Set Col = New ADOX.Column Col.Name = "DateDebutSki" Col.Type = adDate Cat.Tables("Gestion").Columns.Append Col Set Col = Nothing
Vois-tu une anomalie, dans mon code, qui expliquerait le bug de mise à null du champ date ?
Merci beaucoup pour ton aide toujours si précieuse.
Dany
"Jean-marc" a écrit dans le message de news: 476d25ee$0$29255$
Daniel AUBRY wrote:
Bonjour Jean-Marc,
Hello,
je travaille avec ADO et non DAO : c'est peut être le motif.
Non.
Le message d'erreur est que je ne peut affecter une valeur nulle à ce champ. Sans aller jusqu'à VB, il suffit de faire une requete de type mise à jour dans Access 2003 et le message d'erreur est le même !!
Alors le problème est ailleurs: 1) on peut mettre un champ à NUL, qq soit son type 2) Les raisons pour l'erreur peuvent être: - une violation de contrainte (genre null interdit, mais pas seulement) - une erreur autre dans la requête, qui provoque un message d'erreur bizarre ou erroné.
Pour débugger: - créer une nouvelle base - créer une table - mettre 2 champs (numero et date, de type auto et Date/Heure) - créer 2 ou 3 records - faire un SET pour mettre un ou plusieurs champs date à NULL
Si ça marche (et ça va marcher!) il ne reste plus qu'à comparer avec ton autre base pour trouver la/les différence(s).
effectivement, j'ai suivi ton conseil (avisé) et ça marche.
Les champs date concernés ont été créés après la table avec ADOX :
(évolution d'une base à distance)
Dim Cat As ADOX.Catalog
Dim Col As ADOX.Column
Set Cat = New ADOX.Catalog
Cat.ActiveConnection = ChaineConnect
Set Col = New ADOX.Column
Col.Name = "DateDebutSki"
Col.Type = adDate
Cat.Tables("Gestion").Columns.Append Col
Set Col = Nothing
Vois-tu une anomalie, dans mon code, qui expliquerait le bug de mise
à null du champ date ?
Merci beaucoup pour ton aide toujours si précieuse.
Dany
"Jean-marc" <NO_SPAM_jean_marc_n2@yahoo.fr.invalid> a écrit dans le message
de news: 476d25ee$0$29255$ba620e4c@news.skynet.be...
Daniel AUBRY wrote:
Bonjour Jean-Marc,
Hello,
je travaille avec ADO et non DAO : c'est peut être le motif.
Non.
Le message d'erreur est que je ne peut affecter une valeur nulle à ce
champ. Sans aller jusqu'à VB, il suffit de faire une requete de type
mise à jour dans Access 2003 et le message d'erreur est le même !!
Alors le problème est ailleurs:
1) on peut mettre un champ à NUL, qq soit son type
2) Les raisons pour l'erreur peuvent être:
- une violation de contrainte (genre null interdit, mais pas seulement)
- une erreur autre dans la requête, qui provoque un message d'erreur
bizarre ou erroné.
Pour débugger:
- créer une nouvelle base
- créer une table
- mettre 2 champs (numero et date, de type auto et Date/Heure)
- créer 2 ou 3 records
- faire un SET pour mettre un ou plusieurs champs date à NULL
Si ça marche (et ça va marcher!) il ne reste plus qu'à comparer
avec ton autre base pour trouver la/les différence(s).
effectivement, j'ai suivi ton conseil (avisé) et ça marche. Les champs date concernés ont été créés après la table avec ADOX : (évolution d'une base à distance)
Dim Cat As ADOX.Catalog Dim Col As ADOX.Column
Set Cat = New ADOX.Catalog Cat.ActiveConnection = ChaineConnect
Set Col = New ADOX.Column Col.Name = "DateDebutSki" Col.Type = adDate Cat.Tables("Gestion").Columns.Append Col Set Col = Nothing
Vois-tu une anomalie, dans mon code, qui expliquerait le bug de mise à null du champ date ?
Merci beaucoup pour ton aide toujours si précieuse.
Dany
"Jean-marc" a écrit dans le message de news: 476d25ee$0$29255$
Daniel AUBRY wrote:
Bonjour Jean-Marc,
Hello,
je travaille avec ADO et non DAO : c'est peut être le motif.
Non.
Le message d'erreur est que je ne peut affecter une valeur nulle à ce champ. Sans aller jusqu'à VB, il suffit de faire une requete de type mise à jour dans Access 2003 et le message d'erreur est le même !!
Alors le problème est ailleurs: 1) on peut mettre un champ à NUL, qq soit son type 2) Les raisons pour l'erreur peuvent être: - une violation de contrainte (genre null interdit, mais pas seulement) - une erreur autre dans la requête, qui provoque un message d'erreur bizarre ou erroné.
Pour débugger: - créer une nouvelle base - créer une table - mettre 2 champs (numero et date, de type auto et Date/Heure) - créer 2 ou 3 records - faire un SET pour mettre un ou plusieurs champs date à NULL
Si ça marche (et ça va marcher!) il ne reste plus qu'à comparer avec ton autre base pour trouver la/les différence(s).
effectivement, j'ai suivi ton conseil (avisé) et ça marche. Les champs date concernés ont été créés après la table avec ADOX : (évolution d'une base à distance)
Dim Cat As ADOX.Catalog Dim Col As ADOX.Column
Set Cat = New ADOX.Catalog Cat.ActiveConnection = ChaineConnect
Set Col = New ADOX.Column Col.Name = "DateDebutSki" Col.Type = adDate Cat.Tables("Gestion").Columns.Append Col Set Col = Nothing
Vois-tu une anomalie, dans mon code, qui expliquerait le bug de mise à null du champ date ?
Merci beaucoup pour ton aide toujours si précieuse.
Je ne vais hélas pas pouvoir être d'une grande aide supplémentaire, n'étant pas un super-expert d'ADO.
Il faudrait fouiller un peu la doc, je suis sur qu'on y trouverait des choses.
A mon humble avis, il faut surement ajouter des attributs à Col avant de faire l'ajout (du genre null autorisé). Il faut voir comment on fait ça avec ADO, perso j'utilise à 99% DAO quand j'ai ce genre de choses à faire.
effectivement, j'ai suivi ton conseil (avisé) et ça marche.
Les champs date concernés ont été créés après la table avec ADOX :
(évolution d'une base à distance)
Dim Cat As ADOX.Catalog
Dim Col As ADOX.Column
Set Cat = New ADOX.Catalog
Cat.ActiveConnection = ChaineConnect
Set Col = New ADOX.Column
Col.Name = "DateDebutSki"
Col.Type = adDate
Cat.Tables("Gestion").Columns.Append Col
Set Col = Nothing
Vois-tu une anomalie, dans mon code, qui expliquerait le bug de mise
à null du champ date ?
Merci beaucoup pour ton aide toujours si précieuse.
Je ne vais hélas pas pouvoir être d'une grande aide supplémentaire,
n'étant pas un super-expert d'ADO.
Il faudrait fouiller un peu la doc, je suis sur qu'on y trouverait des
choses.
A mon humble avis, il faut surement ajouter des attributs à Col avant de
faire
l'ajout (du genre null autorisé). Il faut voir comment on fait ça avec ADO,
perso
j'utilise à 99% DAO quand j'ai ce genre de choses à faire.
effectivement, j'ai suivi ton conseil (avisé) et ça marche. Les champs date concernés ont été créés après la table avec ADOX : (évolution d'une base à distance)
Dim Cat As ADOX.Catalog Dim Col As ADOX.Column
Set Cat = New ADOX.Catalog Cat.ActiveConnection = ChaineConnect
Set Col = New ADOX.Column Col.Name = "DateDebutSki" Col.Type = adDate Cat.Tables("Gestion").Columns.Append Col Set Col = Nothing
Vois-tu une anomalie, dans mon code, qui expliquerait le bug de mise à null du champ date ?
Merci beaucoup pour ton aide toujours si précieuse.
Je ne vais hélas pas pouvoir être d'une grande aide supplémentaire, n'étant pas un super-expert d'ADO.
Il faudrait fouiller un peu la doc, je suis sur qu'on y trouverait des choses.
A mon humble avis, il faut surement ajouter des attributs à Col avant de faire l'ajout (du genre null autorisé). Il faut voir comment on fait ça avec ADO, perso j'utilise à 99% DAO quand j'ai ce genre de choses à faire.