[VBA-E] Autoriser les null
Coucou,
j'aurais besoin d'un dernier coup de main.
Code:
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 |
j'ai ca pour la creation de ma BD.
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 :
Code:
.Columns.Append "ADJUST", adVariant
En plus il m'avais mis le "V" de variant en majuscule j'etais sur que ca allait marcher...
or j'aimaintenant l'erreur "type non valide" à la ligne suivante
Code:
NewBase.Tables.Append NewTable
Je met le code complet (qui cree ma BD) :
Code:
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 |
Voilà si quelqu'un a une idée... :D