Intégration SQL pour MAJ

Fermé
diki971 Messages postés 2 Date d'inscription mercredi 28 mai 2014 Statut Membre Dernière intervention 28 mai 2014 - 28 mai 2014 à 15:28
diki971 Messages postés 2 Date d'inscription mercredi 28 mai 2014 Statut Membre Dernière intervention 28 mai 2014 - 28 mai 2014 à 16:22
jai voulu mettre du sql dans mon code pour mettre a jour mes tables
mais avec les procédures evementielle donc sur le macro ca marche pas
et sur créer un requete sql aussi!
help me please

voici mon code sql:

UPDATE 'dbo.Participant_bak'
SET 'PaysPerso' = (
CASE
When 'dbo.Participant.PaysPerso_bak' = 'dbo.Pays.libelle_FR_Pays' THEN 'PaysPerso'='dbo.Pays.id_Pays'
When 'dbo.Participant.PaysPerso_bak' = 'dbo.Pays.libelle_EN_Pays' THEN 'PaysPerso'='dbo.Pays.id_Pays'
ELSE 200
)

CREATE INDEX indexer ON dbo.Participant(dbo.Participant_bak.PaysPerso)
ALTER TABLE dbo.Participant ALTER COLUMN INT dbo.Participant.PaysPerso_bak[(4)]
ALTER TABLE dbo.Participant ALTER COLUMN dbo.Participant.PaysPerso_bak CONSTRAINT FKeyÉtat REFERENCES dbo.Pays (dbo.Pays.id_Pays)

et sur macro:
Private Sub Commande38_Click()

'déclaration variable

Dim strSQL As String

'inscruction

strSQL = "UPDATE 'dbo.Participant_bak'" & vbCrLf & _
"SET 'PaysPerso' = (" & vbCrLf & _
"CASE" & vbCrLf & _
"When 'dbo.Participant.PaysPerso_bak' = 'dbo.Pays.libelle_FR_Pays' THEN 'PaysPerso'='dbo.Pays.id_Pays'" & vbCrLf & _
"When 'dbo.Participant.PaysPerso_bak' = 'dbo.Pays.libelle_EN_Pays' THEN 'PaysPerso'='dbo.Pays.id_Pays'" & vbCrLf & _
"ELSE 200" & vbCrLf & _
")" & vbCrLf & _
"CREATE INDEX indexer ON dbo.Participant(dbo.Participant_bak.PaysPerso)" & vbCrLf & _
"ALTER TABLE dbo.Participant ALTER COLUMN INT dbo.Participant.PaysPerso_bak[(4)]" & vbCrLf & _
"ALTER TABLE dbo.Participant ALTER COLUMN dbo.Participant.PaysPerso_bak CONSTRAINT FKeyÉtat REFERENCES dbo.Pays (dbo.Pays.id_Pays);"
If (strSQL) Then
MsgBox " fait"
End If

End Sub
A voir également:

1 réponse

diki971 Messages postés 2 Date d'inscription mercredi 28 mai 2014 Statut Membre Dernière intervention 28 mai 2014
28 mai 2014 à 16:22
voici mon code sql original:

UPDATE 'dbo.Participant_bak'
SET 'PaysPerso' = (
CASE
When 'dbo.Participant.PaysPerso_bak' = 'dbo.Pays.libelle_FR_Pays' THEN 'PaysPerso'='dbo.Pays.id_Pays'
When 'dbo.Participant.PaysPerso_bak' = 'dbo.Pays.libelle_EN_Pays' THEN 'PaysPerso'='dbo.Pays.id_Pays'
ELSE 200
)

CREATE INDEX indexer ON dbo.Participant(dbo.Participant_bak.PaysPerso)
ALTER TABLE dbo.Participant ALTER COLUMN INT dbo.Participant.PaysPerso_bak[(4)]
ALTER TABLE dbo.Participant ALTER COLUMN dbo.Participant.PaysPerso_bak CONSTRAINT FKeyÉtat REFERENCES dbo.Pays (dbo.Pays.id_Pays)

avec modification mais message d'erreur:

UPDATE Participant_bak
SET PaysPerso = (CASE WHEN PaysPerso_bak = libelle_FR_Pays THEN id_Pays WHEN PaysPerso_bak = libelle_EN_Pays THEN Pays.id_Pays ELSE 200)
CREATE INDEX indexer ON Participant_bak(PaysPerso)
ALTER TABLE Participant_bak ALTER COLUMN INT PaysPerso(4)
ALTER TABLE Participant_bak ALTER COLUMN PaysPerso INT CONSTRAINT{ indexer
REFERENCES Pays(id_Pays)};

le message d'erreur est "ADO: erreur de syntaxe ou violation d'accès"
aider moi sur l'un ou l'autre svp
0