Correctif Windows KB837001
Le
Jean Saint Jalmes
Bonjour,
J'ai un problème avec mes bases de données sous RDO depuis
le correctif Windows - KB837001.
Je précise que j'ai déjà posé cette question et que la
réponse que j'ai obtenue (remplacer % par * dans la
requête SQL) ne fonctionne pas du tout.
Je suis sous Windows XP service pack1 et sous Visual
studio service pack 6.
Si je désinstalle le correctif KB837001, tout fonctionne à
nouveau normalement.
Je me connecte à ma base de données locale via une source
de données ODBC définie comme suit :
Nom de la source de données : MYDATABASE
Driver : Microsoft paradox driver (*.db)
Version : 4.00.6019.00 du 28/08/2001
Exemple de programme VB : (une feuille avec un TextBox
nommé txtNom, un CommandButton nommé CmdSearch et un
ListBox nommé Lst). Un click sur le bouton cmdSearch
déclenche la recherche des clients dont le nom commence
par le texte saisi dans txtNom.
Private DataBase as new RdoConnexion
Private Buffer as RdoResultset
Private sub Form_Load()
With DataBase
.CursorDriver = rdUseNone
.Connect = "DSN=MYDATABASE"
.EstablishConnection rdDriverNoPrompt
End With
End sub
Private sub CmdSearch_Click()
lst.Clear
Set Buffer = DataBase.OpenResultset("SELECT * FROM
Clients WHERE Nom LIKE '" & txtNOM
& "%'",rdOpenForwardOnly,rdConcurReadOnly)
do while not Buffer.Eof
lst.AddItem Buffer!Nom
Buffer.MoveNext
Loop
End sub
Dans ma table "Client", j'ai :
ALBERT PREMIER
ALLIGAND
BERNARD
Sans le correctif, si j'appelle le client "A",
j'obtiens "ALBERT PREMIER" et "ALLIGAND" et si j'appelle
le clent "B", j'obtiens "BERNARD".
Avec le correctif, si j'appelle le client "A", la liste
est vide. Si j'appelle "ALBERT", j'obtiens "ALBERT
PREMIER", si j'appelle "B" la liste est vide et si
j'appelle "BERNARD" j'obtiens "BERNARD".
Autrement dit, seuls les clients dont le nom comporte le
mot saisi sont affichés !
Merci d'avance pour votre aide.
Jean.
J'ai un problème avec mes bases de données sous RDO depuis
le correctif Windows - KB837001.
Je précise que j'ai déjà posé cette question et que la
réponse que j'ai obtenue (remplacer % par * dans la
requête SQL) ne fonctionne pas du tout.
Je suis sous Windows XP service pack1 et sous Visual
studio service pack 6.
Si je désinstalle le correctif KB837001, tout fonctionne à
nouveau normalement.
Je me connecte à ma base de données locale via une source
de données ODBC définie comme suit :
Nom de la source de données : MYDATABASE
Driver : Microsoft paradox driver (*.db)
Version : 4.00.6019.00 du 28/08/2001
Exemple de programme VB : (une feuille avec un TextBox
nommé txtNom, un CommandButton nommé CmdSearch et un
ListBox nommé Lst). Un click sur le bouton cmdSearch
déclenche la recherche des clients dont le nom commence
par le texte saisi dans txtNom.
Private DataBase as new RdoConnexion
Private Buffer as RdoResultset
Private sub Form_Load()
With DataBase
.CursorDriver = rdUseNone
.Connect = "DSN=MYDATABASE"
.EstablishConnection rdDriverNoPrompt
End With
End sub
Private sub CmdSearch_Click()
lst.Clear
Set Buffer = DataBase.OpenResultset("SELECT * FROM
Clients WHERE Nom LIKE '" & txtNOM
& "%'",rdOpenForwardOnly,rdConcurReadOnly)
do while not Buffer.Eof
lst.AddItem Buffer!Nom
Buffer.MoveNext
Loop
End sub
Dans ma table "Client", j'ai :
ALBERT PREMIER
ALLIGAND
BERNARD
Sans le correctif, si j'appelle le client "A",
j'obtiens "ALBERT PREMIER" et "ALLIGAND" et si j'appelle
le clent "B", j'obtiens "BERNARD".
Avec le correctif, si j'appelle le client "A", la liste
est vide. Si j'appelle "ALBERT", j'obtiens "ALBERT
PREMIER", si j'appelle "B" la liste est vide et si
j'appelle "BERNARD" j'obtiens "BERNARD".
Autrement dit, seuls les clients dont le nom comporte le
mot saisi sont affichés !
Merci d'avance pour votre aide.
Jean.

Poser une question


Et (sauf erreur) tu n'as pas répondu dans le fil que tu as initié.
Peut-être que celui qui t'a répondu attend ta réponse.
Quel intérêt de te répondre si toi, tu ne réponds pas ?