Pour un peu plus d'explications, le message d'erreur est "Erreur de compilation. Type ActiveX non géré dans Visual Basic." sur :
Public Function NewField( _ Fieldname As String _ , Optional FieldType As DataTypeEnum = dbText _ , Optional FieldSize As Integer = 50 _ , Optional FieldPosition As Integer = 0 _ , Optional FieldAttribute As FieldAttributeEnum _ , Optional FieldRequired As Boolean = False _ ) As Boolean
Patrice
Patrice a écrit dans le message : 426fa8f4$
Bonjour,
Comme l'objet le dit, je cherche à ajouter un champ à partir d'une base (Patch) à une table située dans une autre base.
J'ai bien essayé le "Module de classe clsTables" de Raymond, mais hélas je suis en access97...
Quelqu'un peut'il m'aider ?
Merci
Patrice (C l'heure, je poursui la conversation à la maison ;o)))
Patrice
Si celà interesse quelqu'un, j'ai trouvé :
Private Sub BtnPatch_Click()
Dim dbsNorthwind As Database Dim tdfAvisB As TableDef Dim tdfAvisN As TableDef Dim tdfCL As TableDef Dim tdfNG As TableDef Dim tdfAccor As TableDef Dim fldLoop As Field
Set dbsNorthwind = OpenDatabase("C:VitamineCData_Zeste2005.mdb") Set tdfAvisB = dbsNorthwind.TableDefs!T_Data_AVISBrut_DPX Set tdfAvisN = dbsNorthwind.TableDefs!T_Data_AVISNet_DPX Set tdfCL = dbsNorthwind.TableDefs!T_Data_T1VTE_CL_DPX Set tdfNG = dbsNorthwind.TableDefs!T_Data_T1VTE_NG_DPX Set tdfAccor = dbsNorthwind.TableDefs!T_Data_T5ACCOR_DPX
'Gestion du message d'erreur n°3191 de Microsoft si le patch a déjà été appliqué (Voir en bas de la procédure) On Error GoTo Err_BoutonApercuEtat_Click
'Gestion du message d'erreur n°70 de Microsoft si excel est ouvert : Exit_BoutonApercuEtat_Click: Exit Sub
Err_BoutonApercuEtat_Click: Select Case Err Case 3191: Beep: MsgBox "Le patch a déjà été appliqué.", 48, "Au revoir ;o)))" Case Else: MsgBox Error$ & " " & Err End Select
End Sub Sub AppendDeleteField(tdfTemp As TableDef, _ strCommand As String, strName As String, _ Optional varType, Optional varSize)
With tdfTemp
' Vérifie d'abord que l'objet TableDef peut être ' mis à jour. Sinon, la main est redonnée à ' la procédure appelante. If .Updatable = False Then MsgBox "TableDef ne peut pas être mis à jour ! " & _ "Tâche impossible à exécuter."
Exit Sub End If
' Selon les données passées, ajoute ou supprime ' un champ dans la collection Fields de l'objet ' TableDef spécifié. If strCommand = "APPEND" Then .Fields.Append .CreateField(strName, _ varType, varSize) Else If strCommand = "DELETE" Then .Fields.Delete _ strName End If
End With
End Sub
Patrice a écrit dans le message : 427089e5$
De retour au boulot, bonjour,
Pour un peu plus d'explications, le message d'erreur est "Erreur de compilation. Type ActiveX non géré dans Visual Basic." sur :
Public Function NewField( _ Fieldname As String _ , Optional FieldType As DataTypeEnum = dbText _ , Optional FieldSize As Integer = 50 _ , Optional FieldPosition As Integer = 0 _ , Optional FieldAttribute As FieldAttributeEnum _ , Optional FieldRequired As Boolean = False _ ) As Boolean
Patrice
Patrice a écrit dans le message : 426fa8f4$
Bonjour,
Comme l'objet le dit, je cherche à ajouter un champ à partir d'une base (Patch) à une table située dans une autre base.
J'ai bien essayé le "Module de classe clsTables" de Raymond, mais hélas je
suis en access97...
Quelqu'un peut'il m'aider ?
Merci
Patrice (C l'heure, je poursui la conversation à la maison ;o)))
Si celà interesse quelqu'un, j'ai trouvé :
Private Sub BtnPatch_Click()
Dim dbsNorthwind As Database
Dim tdfAvisB As TableDef
Dim tdfAvisN As TableDef
Dim tdfCL As TableDef
Dim tdfNG As TableDef
Dim tdfAccor As TableDef
Dim fldLoop As Field
Set dbsNorthwind = OpenDatabase("C:VitamineCData_Zeste2005.mdb")
Set tdfAvisB = dbsNorthwind.TableDefs!T_Data_AVISBrut_DPX
Set tdfAvisN = dbsNorthwind.TableDefs!T_Data_AVISNet_DPX
Set tdfCL = dbsNorthwind.TableDefs!T_Data_T1VTE_CL_DPX
Set tdfNG = dbsNorthwind.TableDefs!T_Data_T1VTE_NG_DPX
Set tdfAccor = dbsNorthwind.TableDefs!T_Data_T5ACCOR_DPX
'Gestion du message d'erreur n°3191 de Microsoft si le patch a déjà été
appliqué (Voir en bas de la procédure)
On Error GoTo Err_BoutonApercuEtat_Click
'Gestion du message d'erreur n°70 de Microsoft si excel est ouvert :
Exit_BoutonApercuEtat_Click:
Exit Sub
Err_BoutonApercuEtat_Click:
Select Case Err
Case 3191: Beep: MsgBox "Le patch a déjà été appliqué.", 48, "Au revoir
;o)))"
Case Else: MsgBox Error$ & " " & Err
End Select
End Sub
Sub AppendDeleteField(tdfTemp As TableDef, _
strCommand As String, strName As String, _
Optional varType, Optional varSize)
With tdfTemp
' Vérifie d'abord que l'objet TableDef peut être
' mis à jour. Sinon, la main est redonnée à
' la procédure appelante.
If .Updatable = False Then
MsgBox "TableDef ne peut pas être mis à jour ! " & _
"Tâche impossible à exécuter."
Exit Sub
End If
' Selon les données passées, ajoute ou supprime
' un champ dans la collection Fields de l'objet
' TableDef spécifié.
If strCommand = "APPEND" Then
.Fields.Append .CreateField(strName, _
varType, varSize)
Else
If strCommand = "DELETE" Then .Fields.Delete _
strName
End If
End With
End Sub
Patrice <BZHpatrice.morel@sncf.fr> a écrit dans le message :
427089e5$1@news.sncf.fr...
De retour au boulot, bonjour,
Pour un peu plus d'explications, le message d'erreur est "Erreur de
compilation. Type ActiveX non géré dans Visual Basic." sur :
Public Function NewField( _
Fieldname As String _
, Optional FieldType As DataTypeEnum = dbText _
, Optional FieldSize As Integer = 50 _
, Optional FieldPosition As Integer = 0 _
, Optional FieldAttribute As FieldAttributeEnum _
, Optional FieldRequired As Boolean = False _
) As Boolean
Patrice
Patrice <BZHpatrice.morel@sncf.fr> a écrit dans le message :
426fa8f4$1@news.sncf.fr...
Bonjour,
Comme l'objet le dit, je cherche à ajouter un champ à partir d'une base
(Patch) à une table située dans une autre base.
J'ai bien essayé le "Module de classe clsTables" de Raymond, mais hélas
je
suis en access97...
Quelqu'un peut'il m'aider ?
Merci
Patrice
(C l'heure, je poursui la conversation à la maison ;o)))
Dim dbsNorthwind As Database Dim tdfAvisB As TableDef Dim tdfAvisN As TableDef Dim tdfCL As TableDef Dim tdfNG As TableDef Dim tdfAccor As TableDef Dim fldLoop As Field
Set dbsNorthwind = OpenDatabase("C:VitamineCData_Zeste2005.mdb") Set tdfAvisB = dbsNorthwind.TableDefs!T_Data_AVISBrut_DPX Set tdfAvisN = dbsNorthwind.TableDefs!T_Data_AVISNet_DPX Set tdfCL = dbsNorthwind.TableDefs!T_Data_T1VTE_CL_DPX Set tdfNG = dbsNorthwind.TableDefs!T_Data_T1VTE_NG_DPX Set tdfAccor = dbsNorthwind.TableDefs!T_Data_T5ACCOR_DPX
'Gestion du message d'erreur n°3191 de Microsoft si le patch a déjà été appliqué (Voir en bas de la procédure) On Error GoTo Err_BoutonApercuEtat_Click
'Gestion du message d'erreur n°70 de Microsoft si excel est ouvert : Exit_BoutonApercuEtat_Click: Exit Sub
Err_BoutonApercuEtat_Click: Select Case Err Case 3191: Beep: MsgBox "Le patch a déjà été appliqué.", 48, "Au revoir ;o)))" Case Else: MsgBox Error$ & " " & Err End Select
End Sub Sub AppendDeleteField(tdfTemp As TableDef, _ strCommand As String, strName As String, _ Optional varType, Optional varSize)
With tdfTemp
' Vérifie d'abord que l'objet TableDef peut être ' mis à jour. Sinon, la main est redonnée à ' la procédure appelante. If .Updatable = False Then MsgBox "TableDef ne peut pas être mis à jour ! " & _ "Tâche impossible à exécuter."
Exit Sub End If
' Selon les données passées, ajoute ou supprime ' un champ dans la collection Fields de l'objet ' TableDef spécifié. If strCommand = "APPEND" Then .Fields.Append .CreateField(strName, _ varType, varSize) Else If strCommand = "DELETE" Then .Fields.Delete _ strName End If
End With
End Sub
Patrice a écrit dans le message : 427089e5$
De retour au boulot, bonjour,
Pour un peu plus d'explications, le message d'erreur est "Erreur de compilation. Type ActiveX non géré dans Visual Basic." sur :
Public Function NewField( _ Fieldname As String _ , Optional FieldType As DataTypeEnum = dbText _ , Optional FieldSize As Integer = 50 _ , Optional FieldPosition As Integer = 0 _ , Optional FieldAttribute As FieldAttributeEnum _ , Optional FieldRequired As Boolean = False _ ) As Boolean
Patrice
Patrice a écrit dans le message : 426fa8f4$
Bonjour,
Comme l'objet le dit, je cherche à ajouter un champ à partir d'une base (Patch) à une table située dans une autre base.
J'ai bien essayé le "Module de classe clsTables" de Raymond, mais hélas je
suis en access97...
Quelqu'un peut'il m'aider ?
Merci
Patrice (C l'heure, je poursui la conversation à la maison ;o)))