Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 19h56   #1
Membre du Club
 
bonero pross
Inscription : janvier 2010
Messages : 160
Détails du profil
Informations personnelles :
Nom : bonero pross

Informations forums :
Inscription : janvier 2010
Messages : 160
Points : 58
Points : 58
Par défaut Comment imposer des conditions au champs

Bonjour,

J’ai cree une table en Access avec ADO mais je n’arrive pas a imposer des conditions sur des champs de facon simultanee.

Svp aidez-moi

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub SQL_Constraints()
 
 
    Dim Cn As ADODB.Connection
    Dim Rst As ADODB.Recordset
    Dim strSQL As String
 
 
 
    Set Cn = Application.CurrentProject.Connection
    Set Rst = CreateObject("ADODB.recordset")  'EB
 
 
    On Error Resume Next
    Cn.Execute "DROP TABLE RoggeEmp "
    On Error GoTo 0
 
 
'Creer la table.
    strSQL = "CREATE TABLE RoggeEmp(" & _
            "EmpID      INTEGER ," & _
            "LastName   VARCHAR(4) NOT NULL," & _
            "FirstName  VARCHAR(10), " & _
            "CONSTRAINT MyConstraints UNIQUE (EmpID,LastName))"  'UNIQUE ne semble pas affecter le champs LastName
Debug.Print strSQL
 
    Cn.Execute strSQL
 
 
'Inserrer et checker si les constraintes marchent.
 
    strSQL = "INSERT INTO RoggeEmp(EmpID, LastName,FirstName) VALUES(1,'Rogg','LeBoss')"  '
    Cn.Execute strSQL
 
 
    strSQL = "INSERT INTO RoggeEmp(EmpID, LastName,FirstName) VALUES(2,'Jack','Bonero')"  '
    Cn.Execute strSQL
 
 
   ' strSQL = "INSERT INTO RoggeEmp(EmpID, LastName,FirstName) VALUES(2,'','yvette')"  '' is considered as "" not as NULL.
   ' Cn.Execute strSQL
 
    strSQL = "INSERT INTO RoggeEmp(EmpID, LastName,FirstName) VALUES(3,'Jack',null)"  'NULL is a real NULL here
   Cn.Execute strSQL
   'UNIQUE ne semble pas affecter le champs LastName car j'arrive a inserrer Jack pour une deuxieme fois.
 
 
 
End Sub
Bonero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 21h40   #2
Membre chevronné
 
Avatar de alassanediakite
 
Homme Alassane Diakité
Conseil - Consultant en systèmes d'information
Inscription : août 2006
Messages : 539
Détails du profil
Informations personnelles :
Nom : Homme Alassane Diakité
Âge : 34
Localisation : Mali

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information

Informations forums :
Inscription : août 2006
Messages : 539
Points : 604
Points : 604
Envoyer un message via Yahoo à alassanediakite
Salut
Le code
Code :
UNIQUE (EmpID,LastName)
impose AU COUPLE (EmpID,LastName) d'être unique pas les éléments séparément.
Code :
(1,'jack'), (1,'jean'), (2,'jack'), (2, 'jean')
ne poseront aucun problème. Mais sera refusé.
Il faut donc pour éviter deux fois 'jack'!
__________________
Le monde est trop bien programmé pour être l’œuvre du hasard…
alassanediakite est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 03/02/2012, 15h14   #3
Membre du Club
 
bonero pross
Inscription : janvier 2010
Messages : 160
Détails du profil
Informations personnelles :
Nom : bonero pross

Informations forums :
Inscription : janvier 2010
Messages : 160
Points : 58
Points : 58
Grand merci pour ta reponse Alassane
Bonero est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h03.


 
 
 
 
Partenaires

Hébergement Web