OVH Cloud OVH Cloud

Demande d'ex. de code

5 réponses
Avatar
Zew
Bonsoir =E0 toutes et =E0 tous.

Je recherche des exemples de code pour=20
1. faire un copier - coller d'une structure d'une table -=20
Access le fait, mais quel est le code derri=E8re tout =E7a ??
2.V=E9rifier que le nom d'un champ saisi existe dans une=20
table
3.Rajouter un nom de champ dans une table
4.Supprimer le nom d'un champ d'une table.

J'ai cherch=E9 sur plusieurs sites des MVP et autres, mais=20
je n'ai pas trouv=E9 ce que je recherche. Ou alors, j'ai=20
mal cherch=E9 !
Merci des renseignements que vous pouvez me fournir.

Zew.

5 réponses

Avatar
Eric
Bonjour,

Rapidement avant de partir bosser, réponses aux questions
2 et 3 avec sql

Dans une procédure pour ajouter (créer un champ texte dans
une table existante)
Sub CréerUnChamp()
Dim strSQL as String
strSQL = "Alter Table LaTable Add Column LeChamp Char(50);"
Currendb.Execute strSQL
End Sub

Procédure supprimant un champ d'une table
Sub SuppressionUnChamp()
Dim strSQL as String
strSQL = "Alter Table LaTable Drop Column LeChamp;"
Currendb.Execute strSQL
End Sub

Pour la question 1, la commande CopyObject te permet de
copier un objet donc une table mais hélas tu récupères
aussi les données. Pour copier la structure seulement, je
n'ai pas d'idée, hormis de recréer une table en sql.

Pour la question 2, voir la collection Fields d'un objet
TableDef.

Sorry, pris par le temps je ne peux pas développer.
J'espère t'avoir permis d'avancer un peu
A+
Eric

-----Message d'origine-----
Bonsoir à toutes et à tous.

Je recherche des exemples de code pour
1. faire un copier - coller d'une structure d'une table -
Access le fait, mais quel est le code derrière tout ça ??
2.Vérifier que le nom d'un champ saisi existe dans une
table
3.Rajouter un nom de champ dans une table
4.Supprimer le nom d'un champ d'une table.

J'ai cherché sur plusieurs sites des MVP et autres, mais
je n'ai pas trouvé ce que je recherche. Ou alors, j'ai
mal cherché !
Merci des renseignements que vous pouvez me fournir.

Zew.
.



Avatar
Raymond [mvp]
Bonjour Eric et Zew.

le complément pour la 1.
utiliser la fonction : DoCmd.TransferDatabase avec true dans l'option
StructureOnly

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric" a écrit dans le message de
news:1d55101c4237e$b54a1880$
Bonjour,

Rapidement avant de partir bosser, réponses aux questions
2 et 3 avec sql

Dans une procédure pour ajouter (créer un champ texte dans
une table existante)
Sub CréerUnChamp()
Dim strSQL as String
strSQL = "Alter Table LaTable Add Column LeChamp Char(50);"
Currendb.Execute strSQL
End Sub

Procédure supprimant un champ d'une table
Sub SuppressionUnChamp()
Dim strSQL as String
strSQL = "Alter Table LaTable Drop Column LeChamp;"
Currendb.Execute strSQL
End Sub

Pour la question 1, la commande CopyObject te permet de
copier un objet donc une table mais hélas tu récupères
aussi les données. Pour copier la structure seulement, je
n'ai pas d'idée, hormis de recréer une table en sql.

Pour la question 2, voir la collection Fields d'un objet
TableDef.

Sorry, pris par le temps je ne peux pas développer.
J'espère t'avoir permis d'avancer un peu
A+
Eric
Avatar
Eric
Bonjour Raymond

Merci beaucoup, je ne savais pas.

A+
Eric

"Raymond [mvp]" écrivait news:u4K$au6IEHA.1944
@TK2MSFTNGP11.phx.gbl:

Bonjour Eric et Zew.

le complément pour la 1.
utiliser la fonction : DoCmd.TransferDatabase avec true dans l'option
StructureOnly



Avatar
Eric
Re bonsoir Zew

Voila, je te passe le code pour le point 2

Sub ListerLesChampsUneTable()
' Charge les références DAO 3.x pour cette procédure
Dim t As DAO.TableDef, f As DAO.Field, bd As DAO.Database
Dim position As Integer, NomBase As String, msg As String
Set bd = CurrentDb
position = InStrRev(bd.Name, "")
NomBase = Mid$(bd.Name, position + 1)
Set t = bd.TableDefs("NomDeTaTable")
msg = "Il y a " & t.Fields.Count & " champs "
msg = msg & "dans la table " & t.Name & vbCrLf
msg = msg & "de la base " & UCase(NomBase) & vbCrLf & vbCrLf
For Each f In t.Fields
msg = msg & vbTab & f.Name & vbCrLf
Next f
MsgBox msg, vbInformation
End Sub

A+
Eric


"Zew" écrivait news:1d2fe01c42338
$51b0ab90$:

Bonsoir à toutes et à tous.

Je recherche des exemples de code pour
1. faire un copier - coller d'une structure d'une table -
Access le fait, mais quel est le code derrière tout ça ??
2.Vérifier que le nom d'un champ saisi existe dans une
table
3.Rajouter un nom de champ dans une table
4.Supprimer le nom d'un champ d'une table.

J'ai cherché sur plusieurs sites des MVP et autres, mais
je n'ai pas trouvé ce que je recherche. Ou alors, j'ai
mal cherché !
Merci des renseignements que vous pouvez me fournir.

Zew.



Avatar
Zew
Merci beaucoup pour votre aide, avec tout ça je devrais
m'en sortir!
@+
Zew.

-----Message d'origine-----
Bonjour Raymond

Merci beaucoup, je ne savais pas.

A+
Eric

"Raymond [mvp]" écrivait
news:u4K$au6IEHA.1944

@TK2MSFTNGP11.phx.gbl:

Bonjour Eric et Zew.

le complément pour la 1.
utiliser la fonction : DoCmd.TransferDatabase avec
true dans l'option


StructureOnly



.