transfert de données d'une base externe vers une autre base exte rn
1 réponse
michel_bdx
bonjour
1ère question
j'ai une base applicativeaccess de cette base je veux lancer une commande
qui me permets de transférer les données de ma base de données externe vers
une autre base de données externe comprenant les memes tables que l'autre
mais qui est en données.
2ème question
comment rajouter un champ supplémentaire à une table qui se trouve dans ma
base de données externe
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilbert
Bonjour,
1ère question j'ai une base applicativeaccess de cette base je veux lancer une commande qui me permets de transférer les données de ma base de données externe vers
une autre base de données externe comprenant les memes tables que l'autre "mais qui est en données"???? Je n'ai pas compris ce que tu veux dire
2ème question comment rajouter un champ supplémentaire à une table qui se trouve dans ma base de données externe
Pour ajouter un champ
Set Db= DBEngine.Workspaces(0).OpenDatabase(NomDeLaBase) Set matable = Db.TableDefs(NomDeLaTable) Set Fld = matable.CreateField(NomDuChamp, dbDate) Fld.Required = False 'Null interdit ou pas Fld.DefaultValue = "Date()" matable.Fields.Append Fld
Set Db= Nothing Set matable = Nothing Set Fld = Nothing
Tu peux aussi créer différentes propriétés pour ton champ avec cette procédure: Private Function fn_DefProp(ofld As DAO.Field, sPrp As String, lngType As Long, vParam As Variant) As Byte On Error GoTo ERR_DefPrp Const ERR_pnd As Long = 3270 '// Prop non définie. Dim oPrp As DAO.Property ofld.Properties(sPrp) = vParam ofld.Properties.Refresh fn_DefProp = 1
SORTIE_DefPrp: Set oPrp = Nothing Exit Function
ERR_DefPrp: If Err = ERR_pnd Then '// Création de la propriété. Set oPrp = ofld.CreateProperty(sPrp, lngType, vParam) ofld.Properties.Append oPrp ofld.Properties.Refresh fn_DefProp = 1 Resume SORTIE_DefPrp End If MsgBox Err & ": " & Err.number & vbCrLf & Err.Description Resume SORTIE_DefPrp End Function
Par exemple: Call fn_DefProp(Fld, "Caption", dbText, "La légende du champ") Call fn_DefProp(Fld, "Description", dbText, "La description du champ")
Pour lister les propriétés des champs : Sub ListeProprietesChamps() On Error Resume Next Dim Tbl As DAO.TableDef Dim Fld As DAO.Field Dim Db As DAO.Database Dim Prop As DAO.Property
Set Db = CurrentDb Set Tbl = Db.TableDefs(NomDeLaTable) 'Pour une seule table 'For Each Tbl In Db.TableDefs 'Boucle sur toutes les tables For Each Fld In Tbl.Fields Debug.Print "=====================================" Debug.Print Fld.Name For Each Prop In Fld.Properties Debug.Print "------------------------" Debug.Print "Nom", Prop.Name Debug.Print "Type", Prop.Type Debug.Print "Valeur", Prop.Value Next Next 'Next Set Tbl = Nothing Set Fld = Nothing Set Db = Nothing End Sub
Voir ci-dessous pour la création de différents types de champs Sub CreateTable() Dim dbs As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Field
Set dbs = CurrentDb() Set tdf = dbs.CreateTableDef("NouvelleTable")
Set fld = tdf.CreateField("Booleen", dbBoolean) fld.OrdinalPosition = 4 tdf.Fields.Append fld
Set fld = tdf.CreateField("Byte", dbByte) fld.OrdinalPosition = 5 tdf.Fields.Append fld
Set fld = tdf.CreateField("Entier", dbInteger) fld.OrdinalPosition = 6 tdf.Fields.Append fld
Set fld = tdf.CreateField("Monétaire", dbCurrency) fld.OrdinalPosition = 7 tdf.Fields.Append fld
Set fld = tdf.CreateField("ReelSimple", dbSingle) fld.OrdinalPosition = 8 tdf.Fields.Append fld
Set fld = tdf.CreateField("ReelDouble", dbDouble) fld.OrdinalPosition = 9 tdf.Fields.Append fld
Set fld = tdf.CreateField("ChampDate", dbDate) fld.OrdinalPosition = 10 tdf.Fields.Append fld
Set fld = tdf.CreateField("Binary", dbBinary) fld.OrdinalPosition = 11 tdf.Fields.Append fld
Set fld = tdf.CreateField("ChampMemo", dbMemo) fld.OrdinalPosition = 12 tdf.Fields.Append fld
Set fld = tdf.CreateField("ChampOLE", dbBigInt) fld.OrdinalPosition = 13 tdf.Fields.Append fld
dbs.TableDefs.Append tdf RefreshDatabaseWindow
MsgBox "La table " & tdf.Name & " a été créée"
Set fld = Nothing Set tdf = Nothing Set dbs = Nothing End Sub
Gilbert
Bonjour,
1ère question
j'ai une base applicativeaccess de cette base je veux lancer une commande
qui me permets de transférer les données de ma base de données externe
vers
une autre base de données externe comprenant les memes tables que l'autre
"mais qui est en données"???? Je n'ai pas compris ce que tu veux dire
2ème question
comment rajouter un champ supplémentaire à une table qui se trouve dans ma
base de données externe
Pour ajouter un champ
Set Db= DBEngine.Workspaces(0).OpenDatabase(NomDeLaBase)
Set matable = Db.TableDefs(NomDeLaTable)
Set Fld = matable.CreateField(NomDuChamp, dbDate)
Fld.Required = False 'Null interdit ou pas
Fld.DefaultValue = "Date()"
matable.Fields.Append Fld
Set Db= Nothing
Set matable = Nothing
Set Fld = Nothing
Tu peux aussi créer différentes propriétés pour ton champ avec cette
procédure:
Private Function fn_DefProp(ofld As DAO.Field, sPrp As String, lngType As
Long, vParam As Variant) As Byte
On Error GoTo ERR_DefPrp
Const ERR_pnd As Long = 3270 '// Prop non définie.
Dim oPrp As DAO.Property
ofld.Properties(sPrp) = vParam
ofld.Properties.Refresh
fn_DefProp = 1
SORTIE_DefPrp:
Set oPrp = Nothing
Exit Function
ERR_DefPrp:
If Err = ERR_pnd Then
'// Création de la propriété.
Set oPrp = ofld.CreateProperty(sPrp, lngType, vParam)
ofld.Properties.Append oPrp
ofld.Properties.Refresh
fn_DefProp = 1
Resume SORTIE_DefPrp
End If
MsgBox Err & ": " & Err.number & vbCrLf & Err.Description
Resume SORTIE_DefPrp
End Function
Par exemple:
Call fn_DefProp(Fld, "Caption", dbText, "La légende du champ")
Call fn_DefProp(Fld, "Description", dbText, "La description du champ")
Pour lister les propriétés des champs :
Sub ListeProprietesChamps()
On Error Resume Next
Dim Tbl As DAO.TableDef
Dim Fld As DAO.Field
Dim Db As DAO.Database
Dim Prop As DAO.Property
Set Db = CurrentDb
Set Tbl = Db.TableDefs(NomDeLaTable) 'Pour une seule table
'For Each Tbl In Db.TableDefs 'Boucle sur toutes les tables
For Each Fld In Tbl.Fields
Debug.Print "====================================="
Debug.Print Fld.Name
For Each Prop In Fld.Properties
Debug.Print "------------------------"
Debug.Print "Nom", Prop.Name
Debug.Print "Type", Prop.Type
Debug.Print "Valeur", Prop.Value
Next
Next
'Next
Set Tbl = Nothing
Set Fld = Nothing
Set Db = Nothing
End Sub
Voir ci-dessous pour la création de différents types de champs
Sub CreateTable()
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Set dbs = CurrentDb()
Set tdf = dbs.CreateTableDef("NouvelleTable")
1ère question j'ai une base applicativeaccess de cette base je veux lancer une commande qui me permets de transférer les données de ma base de données externe vers
une autre base de données externe comprenant les memes tables que l'autre "mais qui est en données"???? Je n'ai pas compris ce que tu veux dire
2ème question comment rajouter un champ supplémentaire à une table qui se trouve dans ma base de données externe
Pour ajouter un champ
Set Db= DBEngine.Workspaces(0).OpenDatabase(NomDeLaBase) Set matable = Db.TableDefs(NomDeLaTable) Set Fld = matable.CreateField(NomDuChamp, dbDate) Fld.Required = False 'Null interdit ou pas Fld.DefaultValue = "Date()" matable.Fields.Append Fld
Set Db= Nothing Set matable = Nothing Set Fld = Nothing
Tu peux aussi créer différentes propriétés pour ton champ avec cette procédure: Private Function fn_DefProp(ofld As DAO.Field, sPrp As String, lngType As Long, vParam As Variant) As Byte On Error GoTo ERR_DefPrp Const ERR_pnd As Long = 3270 '// Prop non définie. Dim oPrp As DAO.Property ofld.Properties(sPrp) = vParam ofld.Properties.Refresh fn_DefProp = 1
SORTIE_DefPrp: Set oPrp = Nothing Exit Function
ERR_DefPrp: If Err = ERR_pnd Then '// Création de la propriété. Set oPrp = ofld.CreateProperty(sPrp, lngType, vParam) ofld.Properties.Append oPrp ofld.Properties.Refresh fn_DefProp = 1 Resume SORTIE_DefPrp End If MsgBox Err & ": " & Err.number & vbCrLf & Err.Description Resume SORTIE_DefPrp End Function
Par exemple: Call fn_DefProp(Fld, "Caption", dbText, "La légende du champ") Call fn_DefProp(Fld, "Description", dbText, "La description du champ")
Pour lister les propriétés des champs : Sub ListeProprietesChamps() On Error Resume Next Dim Tbl As DAO.TableDef Dim Fld As DAO.Field Dim Db As DAO.Database Dim Prop As DAO.Property
Set Db = CurrentDb Set Tbl = Db.TableDefs(NomDeLaTable) 'Pour une seule table 'For Each Tbl In Db.TableDefs 'Boucle sur toutes les tables For Each Fld In Tbl.Fields Debug.Print "=====================================" Debug.Print Fld.Name For Each Prop In Fld.Properties Debug.Print "------------------------" Debug.Print "Nom", Prop.Name Debug.Print "Type", Prop.Type Debug.Print "Valeur", Prop.Value Next Next 'Next Set Tbl = Nothing Set Fld = Nothing Set Db = Nothing End Sub
Voir ci-dessous pour la création de différents types de champs Sub CreateTable() Dim dbs As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Field
Set dbs = CurrentDb() Set tdf = dbs.CreateTableDef("NouvelleTable")