Je pete les plombs!!!!!!!!! createfield et dbfloat

1gazelle Messages postés 24 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 24 mars 2005 - 23 mars 2005 à 11:16
1gazelle Messages postés 24 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 24 mars 2005 - 23 mars 2005 à 12:36
Bonjour a tous
j'ai un programme qui cree une table si elle existe pas en definissant les champs.
Hors a la ligne du tupe de champs dbFloat, il me dis : champs non valid e ou un truc comme ca...
je vous cache pas que ca fait 2h que je cherche et ca me lourde...
j'ia bien ajouter la referecne a microsoft DAO 3.6..
franchement celui qui trouve la solution est beni!


Code:,
----

Public Function fExportCsvAccess(strFile As String, strDestinationBD As String, strTable As String) As Boolean

Dim obj_Access As Access.Application
Dim Nom_Base_Access As String
Dim Nom_Fichier_Csv As String
Dim base As New FileSystemObject
Dim oDataBase As DAO.Database 'Base de données
Dim oTableDef As DAO.TableDef 'Table

Nom_Fichier_Csv = strFile
Nom_Base_Access = strDestinationBD

' Création de l'objet
Set obj_Access = CreateObject("Access.Application.9")

'creation de la base de données si necessaire
If base.FileExists(Nom_Base_Access) Then
' MsgBox "la base existe"
obj_Access.OpenCurrentDatabase Nom_Base_Access
Else
' Ouverture de la base Access
MsgBox "la base n'existe pas"

obj_Access.NewCurrentDatabase Nom_Base_Access
Set oDataBase = obj_Access.CurrentDb
Set oTableDef = oDataBase.CreateTableDef(strTable)

With oTableDef

.Fields.Append .CreateField("Repères", dbText, 50)

.Fields.Append .CreateField("Solde exercice en cours", dbFloat)

.Fields.Append .CreateField("Code Concession", dbText, 50)

.Fields.Append .CreateField("Mois", dbText, 50)

.Fields.Append .CreateField("Année", dbText, 50)

.Fields.Append .CreateField("NoName", dbText, 10)

End With

oDataBase.TableDefs.Append oTableDef

End If

On Error GoTo 0

obj_Access.DoCmd.TransferText acImportDelim, ";", strTable, Nom_Fichier_Csv, True
' Fermeture de la base
obj_Access.Quit

' Libération de la mémoire
Set obj_Access = Nothing

fExportCsvAccess = True
ExitHere:
On Error Resume Next
Exit Function
ErrHandler:
fExportCsvAccess = False
Resume ExitHere

End Function

2 réponses

cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
23 mars 2005 à 12:20
salut

essaye de ne pas mettre d'espace, ni de caractères spéciaux dans tes champs de bdd

@+
LIM
0
1gazelle Messages postés 24 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 24 mars 2005
23 mars 2005 à 12:36
il me met toujours : "type de champs non valide" pour dbfloat..
serieusement, je commence a haïr vba
0
Rejoignez-nous