Coucou,
j'aurais besoin d'un dernier coup de main.
j'ai ca pour la creation de ma BD.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 With NewTable .Name = "Table1" .Columns.Append "MVS_SYSTEM_ID", adWChar, 20 .Columns.Append "DATE", adDate .Columns.Append "TIME", adDate .Columns.Append "SERVICE_CLASS", adWChar, 20 .Columns.Append "MIPS", adSingle .Columns.Append "ADJUST", adSingle .Columns.Append "TYPE", adWChar, 20 End With
Or quand je veux y ajouter les données, comme la colonne ADJUST est vide à certaines lignes, j'ai l'erreur suivante :
"Vous avez essayé d'affecter la valeur null à une variable qui n'est pas du type de données variant."
j'ai donc tenté à tout hasard cela :
En plus il m'avais mis le "V" de variant en majuscule j'etais sur que ca allait marcher...
Code : Sélectionner tout - Visualiser dans une fenêtre à part .Columns.Append "ADJUST", adVariant
or j'aimaintenant l'erreur "type non valide" à la ligne suivante
Je met le code complet (qui cree ma BD) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part NewBase.Tables.Append NewTable
Voilà si quelqu'un a une idée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Public Sub AjouterTable() 'Creer une base par ADOX '-- Cocher la référence :Microsoft ADO Ext 2.x for dll Dim NewBase As ADOX.Catalog Dim NewTable As ADOX.Table Dim Chemin As String Chemin = ThisWorkbook.Path & "\bd1.mdb;" Set NewBase = New ADOX.Catalog NewBase.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Chemin & _ "Jet OLEDB:Engine Type=5;" Set NewTable = New ADOX.Table With NewTable .Name = "Table1" .Columns.Append "MVS_SYSTEM_ID", adWChar, 20 .Columns.Append "DATE", adDate .Columns.Append "TIME", adDate .Columns.Append "SERVICE_CLASS", adWChar, 20 .Columns.Append "MIPS", adSingle .Columns.Append "ADJUST", adVariant .Columns.Append "TYPE", adWChar, 20 End With NewBase.Tables.Append NewTable Set NewTable = Nothing Set NewBase = Nothing End Sub![]()








Répondre avec citation
et je pesne qu'il doit y avoir mieux donc je laisse le sujet ouvert, la solution sans bidouillage qui autorise les Null m'interesse bien ! 




Partager