hbvb6
Messages postés40Date d'inscriptionmardi 29 janvier 2008StatutMembreDernière intervention 3 juin 2009
-
9 août 2008 à 17:42
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
9 août 2008 à 20:51
salut
j'utilise une base de données SQL server , dans la table (etatser) j'ai un champs ( dated) déclaré smalldatetime
j'ai enregistré dans le champ (dated) les enregistrements suivants :
15/07/2008
16/07/2008
17/07/2008
26/07/2008
27/07/2008
j'ai ma requete sql suivant
select * from etatser where dated ike '"& 1 &"%"
normalement j'ai les resultats sauivantes:
15/07/2008
16/07/2008
17/07/2008
mais le probleme que j'ai aucune resultat
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 9 août 2008 à 18:10
Comme tu le dis, ton champ est au format smalldatetime, or LIKE marche avec des chaines de caractères.
Si une convertion implicite est habituellement faite, ici, sur des dates, la conversion implicite te renvoie surrement la date au format américain donc 2008-07-15 au lieu de 15/07/2008
il faut donc que tu fasse toi-même la conversion pour avoir la date dans le bon format.
select * from etatser where CONVERT(varchar,dated,103) like '1%'
hbvb6
Messages postés40Date d'inscriptionmardi 29 janvier 2008StatutMembreDernière intervention 3 juin 2009 9 août 2008 à 19:02
merci pour la solution, ça a bien marché
j'ai un autre probleme si tu peux m'aider encore
si j'affecte une date a un champs smalldatetime aprés un Addnew j'ai le message suivant dans l'execution de update
exemple :
[Microsoft][ODBC SQL Server Driver][SQL Server]The conversion from datetime data type to smalldatetime data type resulted in a smalldatetime overflow error.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 9 août 2008 à 20:51
Es-tu sur de ton code ? je trouve la syntaxe un peu bizarre, bien que je ne ai plus l'habitude d'utiliser l'accès aux données avec VB6
En tout cas en utilisant ADO avec le code ci-dessous, j'arrive pas à reproduire ton problème :
----
Dim cnn1 As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strCnn As String
Set cnn1 = New ADODB.Connection
strCnn = "driver={SQL Native Client};server=localhost;database=TEST;Trusted_Connection=yes;"
cnn1.Open strCnn
Set rst = New ADODB.Recordset
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Open "Test1", cnn1, , , adCmdTable
rst.AddNew
rst!dated = "15/07/2008"
rst.Update
rst.Close
cnn1.Close
, ----
, ----
[code.aspx?ID=41455 Coloration Syntaxique pour VB6 By ]