Bonjour a tous,
Je vous écris car j'ai un petit problème et il me semble ne pas avoir trouver de solution.
Alors voila je fais un projet sous access 2003
Access reste un peu flou pour moi donc si je m'explique mal n'hesitez pas a me le dire je corrigerai avec plaisir
Donc voila j'ai 2tables Batterie (Id_batt, Nom_Batt,Emplacement)et Portique(Id_equip,Equip,ID batterie) et une requete que j'ai nommée battreq qui regroupe les 2 tables précédement nommées.
Sur un de mes formulaires je veux pouvoir enregistrer un nouveau portique. grace a 3 zones de textes ou je precise l'emplacement, le nom de la batterie ,et le portique (equipement). Quand j'appuie sur un joli bouton Valider , les informations que j'ai rentrées s'enregistre effectivement dans ma base.
Voici mon code:
Private sub Valider_Click()
set base= CurrentDb
set data = base.openrecordset("batteriereq",dbopendynaset)
data.addnew
data![emplacement]= emplacement
data![Nom_batt]=batterie
data![Equipement]=Equipement
data.update
sql="select * from batteriereq where emplacement=' "+emplacement+" ' and.....(on a compris la suite)
set data= base.openrecordset(sql,dbopendynaset)
data.movefirst
End sub
ça sa marche. Cependant si j'appuie 20 fois sur valider l'enregistrement ce fait 20 fois dans ma base et je ne veux pas de cela. Si un portique existe deja je ne veux pas qu'il rentre une deuxieme fois dans ma base.
D'ou mon probleme je ne sais pas utiliser les conditions
Jvous ecris ce que j'ai fais
Private sub Valider_Click()
set base= CurrentDb
set data = base.openrecordset("batteriereq",dbopendynaset)
data.addnew
data![emplacement]= emplacement
data![Nom_batt]=batterie
data![Equipement]=Equipement
If (portique existant <> portique venant d'être entré) then
If (batterie existante<> batterie venant d'etre entré) then
If (emplamcement existant<> emplacement venant d'etre entré) then
data.update
sql="select * from batteriereq where emplacement=' "+emplacement+" ' and.....(on a compris la suite)
set data= base.openrecordset(sql,dbopendynaset)
data.movefirst
end if
else
(id batterie existant= id batterie venant d'etre entré)
end if
else
Msg box ("ce portique existe déja")
end if
end sub
la evidement il zap toute les instructions et m'affiche Ce portique existe déja....
j'espere avoir été clair je vous remercie si vous pouvez m'aider a ajuster mon code ou me renvoyer vers un site pouvant m'expliquer cela.
Configuration: Windows XP
Internet Explorer 6.0