Bonjour tout le monde,
je souhaite exporter des données de ma feuille excel ver une base access
j'arrive à creer la base puis la table mais lors de l'insertion des données
dans la table j'obtiens l'erreur suivante:
erreur 3061: trop peu de parametres 1. attendu
par tatonnements je pense avoir compris que l'erreur se situe lors d'ajout
de données de type texte
Quelqu'un peut il m'aider, svp
Merci
je cree la base sans probleme avec la sub suivante:
Sub CreateADatabase(vtDbName$)
Dim dbs As Database
Dim vtMessage$
On Error GoTo ErrorHandler
Set dbs = Workspaces(0).CreateDatabase(vtDbName & ".mdb", dbLangGeneral,
dbVersion30) Set dbs = Nothing
Exit Sub
ErrorHandler:
vtMessage = "Erreur lors de la creation de la base "
vtMessage = vtMessage & _
Chr(10) & _
Chr(10) & "Numero_Erreur : " & Err & _
Chr(10) & "Description: " & Error()
MsgBox vtMessage, vbInformation, ctByg
End Sub
et j'utilise la sub suivante pour creer la table et ajouter des données:
Sub CreateTableAndAddData()
Dim dbs As Database
Dim viCols%
Dim viRows%
Dim viCount%
Dim viRcount%
Dim vtWrapChar$
Dim vtSql$
Dim vtMessage$
On Error Resume Next
vtSql = ""
vtSql = vtSql & " DROP TABLE " & ctSheet
dbs.Execute vtSql
On Error GoTo ErrorHandler
'' - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'' Create the table
'' Go to the top left cell in the current range
ActiveCell.CurrentRegion.Cells(1, 1).Select
'' boucle sur chaque colonne pour creer code SQL
With ActiveCell.CurrentRegion
For viCount = 1 To viCols
vtSql = vtSql & .Cells(1, viCount) & "x " &
fGetCellFormat(.Cells(2, viCount))
If viCount <> viCols Then
vtSql = vtSql & ", "
Else
vtSql = vtSql & ")"
End If
Next
End With
dbs.Execute vtSql
'' - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'' Insertion des données dans la table
With ActiveCell.CurrentRegion
For viRcount = 2 To viRows
For viCount = 1 To viCols
Select Case fGetCellFormat(.Cells(2, viCount))
Case "TEXT"
vtWrapChar = "'" '<--------------je pense que cest
a ce niveau
Case "DATETIME"
vtWrapChar = "#"
Case Else
vtWrapChar = ""
End Select
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
Pierre CFI [mvp]
bonjour il faut que le format d'une colonne soit bien identique sur chaque ligne (pas de date dans une cellule et du texte dans la cellule dessous selectionne chaque colonne les unes aprés les autres et formate
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Franck" a écrit dans le message de news:
Bonjour tout le monde, je souhaite exporter des données de ma feuille excel ver une base access j'arrive à creer la base puis la table mais lors de l'insertion des données dans la table j'obtiens l'erreur suivante: erreur 3061: trop peu de parametres 1. attendu
par tatonnements je pense avoir compris que l'erreur se situe lors d'ajout de données de type texte
Quelqu'un peut il m'aider, svp Merci
je cree la base sans probleme avec la sub suivante:
Sub CreateADatabase(vtDbName$) Dim dbs As Database Dim vtMessage$
On Error GoTo ErrorHandler
Set dbs = Workspaces(0).CreateDatabase(vtDbName & ".mdb", dbLangGeneral, dbVersion30) Set dbs = Nothing
Exit Sub
ErrorHandler:
vtMessage = "Erreur lors de la creation de la base " vtMessage = vtMessage & _ Chr(10) & _ Chr(10) & "Numero_Erreur : " & Err & _ Chr(10) & "Description: " & Error()
MsgBox vtMessage, vbInformation, ctByg
End Sub
et j'utilise la sub suivante pour creer la table et ajouter des données:
Sub CreateTableAndAddData() Dim dbs As Database Dim viCols% Dim viRows% Dim viCount% Dim viRcount% Dim vtWrapChar$ Dim vtSql$ Dim vtMessage$
On Error Resume Next vtSql = "" vtSql = vtSql & " DROP TABLE " & ctSheet dbs.Execute vtSql On Error GoTo ErrorHandler
'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' Create the table '' Go to the top left cell in the current range ActiveCell.CurrentRegion.Cells(1, 1).Select
'' boucle sur chaque colonne pour creer code SQL With ActiveCell.CurrentRegion For viCount = 1 To viCols vtSql = vtSql & .Cells(1, viCount) & "x " & fGetCellFormat(.Cells(2, viCount)) If viCount <> viCols Then vtSql = vtSql & ", " Else vtSql = vtSql & ")" End If Next End With
dbs.Execute vtSql
'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' Insertion des données dans la table With ActiveCell.CurrentRegion For viRcount = 2 To viRows
For viCount = 1 To viCols Select Case fGetCellFormat(.Cells(2, viCount)) Case "TEXT" vtWrapChar = "'" '<--------------je pense que cest a ce niveau Case "DATETIME" vtWrapChar = "#" Case Else vtWrapChar = "" End Select
vtMessage = "Erreur lors de la creation" vtMessage = vtMessage & _ Chr(10) & _ Chr(10) & "Numero_Erreur : " & Err & _ Chr(10) & "Description: " & Error()
MsgBox vtMessage, vbInformation, ctByg
Resume lbTidy
End Sub
bonjour
il faut que le format d'une colonne soit bien identique sur chaque ligne (pas de date dans une cellule et du texte dans la cellule
dessous
selectionne chaque colonne les unes aprés les autres et formate
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Franck" <franck112@hotmail.com> a écrit dans le message de news:OzdtWnEgEHA.1092@TK2MSFTNGP11.phx.gbl...
Bonjour tout le monde,
je souhaite exporter des données de ma feuille excel ver une base access
j'arrive à creer la base puis la table mais lors de l'insertion des données
dans la table j'obtiens l'erreur suivante:
erreur 3061: trop peu de parametres 1. attendu
par tatonnements je pense avoir compris que l'erreur se situe lors d'ajout
de données de type texte
Quelqu'un peut il m'aider, svp
Merci
je cree la base sans probleme avec la sub suivante:
Sub CreateADatabase(vtDbName$)
Dim dbs As Database
Dim vtMessage$
On Error GoTo ErrorHandler
Set dbs = Workspaces(0).CreateDatabase(vtDbName & ".mdb", dbLangGeneral,
dbVersion30) Set dbs = Nothing
Exit Sub
ErrorHandler:
vtMessage = "Erreur lors de la creation de la base "
vtMessage = vtMessage & _
Chr(10) & _
Chr(10) & "Numero_Erreur : " & Err & _
Chr(10) & "Description: " & Error()
MsgBox vtMessage, vbInformation, ctByg
End Sub
et j'utilise la sub suivante pour creer la table et ajouter des données:
Sub CreateTableAndAddData()
Dim dbs As Database
Dim viCols%
Dim viRows%
Dim viCount%
Dim viRcount%
Dim vtWrapChar$
Dim vtSql$
Dim vtMessage$
On Error Resume Next
vtSql = ""
vtSql = vtSql & " DROP TABLE " & ctSheet
dbs.Execute vtSql
On Error GoTo ErrorHandler
'' - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'' Create the table
'' Go to the top left cell in the current range
ActiveCell.CurrentRegion.Cells(1, 1).Select
'' boucle sur chaque colonne pour creer code SQL
With ActiveCell.CurrentRegion
For viCount = 1 To viCols
vtSql = vtSql & .Cells(1, viCount) & "x " &
fGetCellFormat(.Cells(2, viCount))
If viCount <> viCols Then
vtSql = vtSql & ", "
Else
vtSql = vtSql & ")"
End If
Next
End With
dbs.Execute vtSql
'' - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'' Insertion des données dans la table
With ActiveCell.CurrentRegion
For viRcount = 2 To viRows
For viCount = 1 To viCols
Select Case fGetCellFormat(.Cells(2, viCount))
Case "TEXT"
vtWrapChar = "'" '<--------------je pense que cest
a ce niveau
Case "DATETIME"
vtWrapChar = "#"
Case Else
vtWrapChar = ""
End Select
bonjour il faut que le format d'une colonne soit bien identique sur chaque ligne (pas de date dans une cellule et du texte dans la cellule dessous selectionne chaque colonne les unes aprés les autres et formate
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Franck" a écrit dans le message de news:
Bonjour tout le monde, je souhaite exporter des données de ma feuille excel ver une base access j'arrive à creer la base puis la table mais lors de l'insertion des données dans la table j'obtiens l'erreur suivante: erreur 3061: trop peu de parametres 1. attendu
par tatonnements je pense avoir compris que l'erreur se situe lors d'ajout de données de type texte
Quelqu'un peut il m'aider, svp Merci
je cree la base sans probleme avec la sub suivante:
Sub CreateADatabase(vtDbName$) Dim dbs As Database Dim vtMessage$
On Error GoTo ErrorHandler
Set dbs = Workspaces(0).CreateDatabase(vtDbName & ".mdb", dbLangGeneral, dbVersion30) Set dbs = Nothing
Exit Sub
ErrorHandler:
vtMessage = "Erreur lors de la creation de la base " vtMessage = vtMessage & _ Chr(10) & _ Chr(10) & "Numero_Erreur : " & Err & _ Chr(10) & "Description: " & Error()
MsgBox vtMessage, vbInformation, ctByg
End Sub
et j'utilise la sub suivante pour creer la table et ajouter des données:
Sub CreateTableAndAddData() Dim dbs As Database Dim viCols% Dim viRows% Dim viCount% Dim viRcount% Dim vtWrapChar$ Dim vtSql$ Dim vtMessage$
On Error Resume Next vtSql = "" vtSql = vtSql & " DROP TABLE " & ctSheet dbs.Execute vtSql On Error GoTo ErrorHandler
'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' Create the table '' Go to the top left cell in the current range ActiveCell.CurrentRegion.Cells(1, 1).Select
'' boucle sur chaque colonne pour creer code SQL With ActiveCell.CurrentRegion For viCount = 1 To viCols vtSql = vtSql & .Cells(1, viCount) & "x " & fGetCellFormat(.Cells(2, viCount)) If viCount <> viCols Then vtSql = vtSql & ", " Else vtSql = vtSql & ")" End If Next End With
dbs.Execute vtSql
'' - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' Insertion des données dans la table With ActiveCell.CurrentRegion For viRcount = 2 To viRows
For viCount = 1 To viCols Select Case fGetCellFormat(.Cells(2, viCount)) Case "TEXT" vtWrapChar = "'" '<--------------je pense que cest a ce niveau Case "DATETIME" vtWrapChar = "#" Case Else vtWrapChar = "" End Select
vtMessage = "Erreur lors de la creation" vtMessage = vtMessage & _ Chr(10) & _ Chr(10) & "Numero_Erreur : " & Err & _ Chr(10) & "Description: " & Error()
MsgBox vtMessage, vbInformation, ctByg
Resume lbTidy
End Sub
Franck
Merci pour la réponse
J'ai vérifié, et je me trouve bien dans la configuration que tu décris, pourtant le message apparait toujours. J'ai remarqué aussi que si j'enleve les colonnes contenant des données texte ça fonctionne alors est ce que c'est pas un problème d'accent ' ou " qu'il faut utiliser
Merci
"Pierre CFI [mvp]" a écrit dans le message de news:
bonjour il faut que le format d'une colonne soit bien identique sur chaque ligne (pas de date dans une cellule et du texte dans la cellule
dessous selectionne chaque colonne les unes aprés les autres et formate
Merci pour la réponse
J'ai vérifié, et je me trouve bien dans la configuration que tu décris,
pourtant le message apparait toujours.
J'ai remarqué aussi que si j'enleve les colonnes contenant des données texte
ça fonctionne alors est ce que c'est pas un problème d'accent ' ou " qu'il
faut utiliser
Merci
"Pierre CFI [mvp]" <XXX_pierresalaun@aol.com> a écrit dans le message de
news:OB9PFsEgEHA.592@TK2MSFTNGP11.phx.gbl...
bonjour
il faut que le format d'une colonne soit bien identique sur chaque ligne
(pas de date dans une cellule et du texte dans la cellule
dessous
selectionne chaque colonne les unes aprés les autres et formate
J'ai vérifié, et je me trouve bien dans la configuration que tu décris, pourtant le message apparait toujours. J'ai remarqué aussi que si j'enleve les colonnes contenant des données texte ça fonctionne alors est ce que c'est pas un problème d'accent ' ou " qu'il faut utiliser
Merci
"Pierre CFI [mvp]" a écrit dans le message de news:
bonjour il faut que le format d'une colonne soit bien identique sur chaque ligne (pas de date dans une cellule et du texte dans la cellule
dessous selectionne chaque colonne les unes aprés les autres et formate