Stephle
Messages postés10Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention 3 août 2004
-
24 juin 2003 à 12:43
cs_Draconagi
Messages postés34Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention 9 octobre 2006
-
27 avril 2004 à 14:43
Salut,
UN gros prob avec Access.
Je génère des requêtes SQL pour changer le type de données d'une table Access
Je m'explique: Access possède des données de type Integer, je veux les changer en Varchar
"Impossible car la table est verrouillée par une personne ou un processus"
Si quelqu'un pouvait m'aider, surtout que ça urge...
Merci d'avance
Stephle
PS: Si vous voyez pas de quoi je veux parler, consultez la source RecupDB présente sur le site et que j'ai postée et consultez la feuille "options" et la fonction "trait_SQL" présente dans cette feuille...
ria94
Messages postés97Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention 3 octobre 2006 25 juin 2003 à 14:46
'on ouvre notre base
Set Db= OpenDatabase("c:\????\????\????.mdb")
Db.QueryDefs.Refresh
' Test d'existence de la requete si la requête NouvelleRequête existe, la supprime.Sinon la creer
For Each qdf In Db.QueryDefs
If qdf.Name = "NouvelleRequete" Then
Db.QueryDefs.Delete qdf.Name
End If
Next qdf
'Creer n importe qu elle requete sous access puis toujours sous access cliquer sur modifier puis sur moder sql copier toute la chaine sql et placer la tous simplement entre les de guillemet
'On stock notre chaine SQL dans chSQL (selection des champs + critere)
'tu colle la chaine sql de ta requete dans " ??????"
chSQL = "????????????votre chaine SQL????????????????ex: SELECT plan_.[Secteur_(Appli)], plan_.Lieu INTO plan From plan_ WHERE (((plan_.[Secteur_(Appli)])>0));??????????????????????????????????????????"
'Creation de la requete "nouvellerequete"
Set qdf = Db.CreateQueryDef("NouvelleRequete", chSQL)
qdf.Close
Db.Close
' On execute la requete
'ouvre la base
Db.OpenCurrentDatabase ("????\????\????\????.mdb")
'On donne un nom a notre requete
stDocName = "NouvelleRequete"
On execute la requete
DoCmd.OpenQuery stDocName, acNormal, acEdit
Db.CloseCurrentDatabase
Stephle
Messages postés10Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention 3 août 2004 25 juin 2003 à 15:18
C'est cool comme code mais petite précision ca marche en VBA access, le petit détail (et je viens de me rendre compte que j'ai oublié d'en parler), c'est que mon appli est programmée en VB et que la connexion avec Access est du type ADO.
Donc les instructions "opendatabase", etc... n'existent pas
ria94
Messages postés97Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention 3 octobre 2006 25 juin 2003 à 16:01
Moi j ai creer mon programme en vb avec ce code et il marche tres bien a partir du moment que t as ta base access il te crée une requete et tu balance la chaine sql de ta requete. Normalement ca marche.
cs_Draconagi
Messages postés34Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention 9 octobre 20061 27 avril 2004 à 14:43
Les options opendatabase existe sous ton VB pour access.
Seulement tu dois définir les dictionnaires auquel ton VB editor peut avoir accés. Utilise le dico VBA et tu verras tu trouveras ces fonctions.