Access et VB HEEEEEELPPPPPPPPP

cs_andrea Messages postés 7 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 14 février 2002 - 8 févr. 2002 à 00:18
cs_Nitocris Messages postés 30 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 25 mars 2002 - 8 févr. 2002 à 09:41
Bonjour,

Avec le code suivant je voudrais:
- recuperer les valeurs du champs MAC_Address de ma table et les mettre dans une variable (jusque la ca marche)

-Ensuite comparer les valeurs trouvees avec la valeur Mac_Address (qui est trouvee grace a mon code vb) afin de :
-soit si les valeurs sont differents creer un enregistrement
-ou soit si elles sont egales juste updater les champs de ma table ( a partir de la ca va plus du tout) voila le code que j'utilise:

Dim MacAddress As String

MacAddress = GetMACAddr
LblMacAddress = MacAddress

'database
cnnADO.Provider = "Microsoft.jet.OLEDB.4.0"
cnnADO.ConnectionString = "project.mdb"
cnnADO.Open

sqlComputer = "INSERT INTO Table_Computer (Computer_Name, User_Name, IP, MAC_Address, HostName,Windows) VALUES ( '" & lblComputerName & "', '" & lblUserName & "', '" & IP & "','" & MacAddress & "','" & HOST & "','" & lblOsVersion & "');"sqlComputerUpdate "UPDATE Table_Computer SET Computer_Name 'lblComputerName', User_Name = 'lblUserName', IP = 'IP', MAC_Address= 'MacAddress', HostName='HOST', Windows = 'lblOsVersion ' ;"

Dim store As String

Set rsADO = New ADODB.Recordset
rsADO.Open "SELECT MAC_Address FROM Table_Computer", cnnADO

store = rsADO!Mac_Address ' je place toute mes valeurs du champs


If store <> Mac_Address Then 'si les valeurs sont differentes alors
cnnADO.Execute (sqlComputer) 'j'insere un nouvel enregistrement
Else
cnnADO.Execute (sqlComputerUpdate) 'sinon j'update l'enregistrement existant
End If

Et lorsque j'execute ce progamme j'obtiens a chaque fois un nouvel enregistrement avec les meme parametres au lieu d'avoir un update

Voila si quelqu'un peut eclairer ma lanterne
Ps: ma string update est incorrect car au lieu de m'afficher les valeurs des variables elle m'affiche leur nom si quelq'un sait aussi :)

Merci beaucoup

1 réponse

cs_Nitocris Messages postés 30 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 25 mars 2002
8 févr. 2002 à 09:41
Bon j'ai pas vraiment le temps mais apparament tu t'y prend mal.

D'abord fait un select... from... where mac_Adress = "ta valeur"

Si le recorset que tu optient est null alors fait un insert

Sinon fait une boucle sur ton recordset optenu jusqu'a EOF = true et pour chaque résultat fait update de ta table

C'est le plus facile et ca marche tres bien.
bonne chance.

ps: fait attention au insert et au update. vérifie les strings avant pour ne pas avoir les problème lier au ' et au "
0
Rejoignez-nous