Creer une base Access

Résolu
Dounej Messages postés 28 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 7 avril 2007 - 19 mars 2007 à 22:54
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 20 mars 2007 à 15:33
Bonjour,

Je  veux creer une base Access uniquement par programmation (sans Adodc) sur le principe Excel ci-dessous.
(Cette base comprendra 200 colonnes)

Avez-vous un code à me proposer
ou  connaissance d'un exemple sur ce site qui pourrait répondre à ma question ?

Cordialement

Marc







Exemple pour Excell :



Public Function CreerFichier()
   
    'on dit que l'objet est de type feuille excel et ouvre Excel
    Set DocExcel = CreateObject("Excel.Application")
    'mettre à True pour l'afficher à l'écran , mettre à False pour pas qu'Excel reste invisible
    If AfficherExcel = True Then
        DocExcel.Visible = True
    Else
        DocExcel.Visible = False
    End If
   
    'supprime l'affichage des messages d'erreurs ou de confirmation de suppression, ...
    DocExcel.DisplayAlerts = False
   
    'ajoute un nouveau classeur
    If NouveauFichier Then
        DocExcel.Workbooks.Add
        'selectionne la feuille du classeur
        DocExcel.Sheets("Feuil2").Select
        'on supprime cette feuille
        DocExcel.ActiveWindow.SelectedSheets.Delete
        'on fait pareil avec la feuille 3
        DocExcel.Sheets("Feuil3").Select
        DocExcel.ActiveWindow.SelectedSheets.Delete
        'on selectionne la feuille 1 (la seule qui reste)
        DocExcel.Sheets("Feuil1").Select
        'on change le nom de celle ci
        DocExcel.Sheets("Feuil1").Name = "Mon Document Excel"
    Else
        DocExcel.Workbooks.Open FileName:=NomFichier, Editable:=True
    End If
   
    ValOperation (10)
    'on change la largeur de la colonne
    DocExcel.Columns("A:A").ColumnWidth = 20
   
    ValOperation (10)
    'on met la date et l'heure
    DocExcel.Range("A1").Select
    test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE09, False, False, 0, False)
    DocExcel.ActiveCell.FormulaR1C1 = "Fait le : " & Date & " à " & Time
   
    ValOperation (10)
    'du texte
    DocExcel.Range("A2").Select
    test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE11, False, False, 0, False)
    DocExcel.ActiveCell.FormulaR1C1 = "Par un petit programme Vb"
   
    ValOperation (10)
    'une fusion de cellule
    DocExcel.Range("A5:D5").Select
    test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE14, False, False, 0, True)
    DocExcel.ActiveCell.FormulaR1C1 = "Fusion des Cellules"
   
    ValOperation (10)
    'on change la police
    DocExcel.Range("A6:G6").Select
    test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE09, True, True, 4, True)
    DocExcel.ActiveCell.FormulaR1C1 = "On change la police et on met en gras, en italic et on aligne à droite"
   
    ValOperation (10)
    'une opération
    DocExcel.Range("B8").Select
    test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE11, False, False, 0, False)
    DocExcel.ActiveCell.FormulaR1C1 = 12
    DocExcel.Range("B9").Select
    test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE11, False, False, 0, False)
    DocExcel.ActiveCell.FormulaR1C1 = 56
    DocExcel.Range("A10").Select
    test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE11, False, False, 0, False)    DocExcel.ActiveCell.FormulaR1C1 "Somme"
    DocExcel.Range("B10").Select
    test = ParametreExcel(DocExcel, "MS Sérif", TAILLEPOLICE11, True, False, 0, False)
    DocExcel.ActiveCell.FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)"
   
   
    ValOperation (30)
    'on sauvegarde la feuille sous le nom contenu dans NomFichier
    DocExcel.ActiveWorkbook.SaveAs FileName:=NomFichier, _
        FileFormat:=17, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
   
    ValOperation (10)
    'on quitte excel
    DocExcel.Application.Quit
End Function

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mars 2007 à 23:34
Salut,

j'ai pas cherché mais je pense qu'il doit y avoir des centaines de sources sur le sujet.
Voici un exemple d'une de mes sources (sur les doublons) :

    Dim BddTemp As Database
    Dim TableTemp As TableDef
    Dim ChampsTemp As Field
    Dim NomFichier As String, sql As String
    Dim i As Integer, j As Integer

' donne le nom du fichier
NomFichier =  App.Path & "\NomDeLaBase.mdb"

' références pour la création de la base de données, l'ouverture de celle-ci et on crée
' la table et le champs
        Set BddTemp = CreateDatabase(NomFichier, dbLangGeneral)
        Set BddTemp = OpenDatabase(NomFichier)
        Set TableTemp = BddTemp.CreateTableDef("Nom de la table")
        Set ChampsTemp = TableTemp.CreateField("Nom du champ", dbText)
TableTemp.Fields.Append ChampsTemp
BddTemp.TableDefs.Append TableTemp
BddTemp.Close

'       ouverture de la base pour écriture
        Set BddTemp = DBEngine.Workspaces(0).OpenDatabase(NomFichier)
            DoEvents
For i = 1 To 10
    MaValeur = "Valeur " & i
'   et création de la requête
    sql = "INSERT INTO Nom de la table (Nom du champ) VALUES ('" & MaValeur & "')"
'           ^ pour insérer      ^ dans table    ^ et champs        ^ cette valeur
    BddTemp.Execute sql ' puis on l'exécute
Next i

BddTemp.Close  ' une fois terminé, ferfrmDoublonsture de la base

' un p'tit Messsage pour avertir l'utilisateur que c'est fait
MsgBox "Le fichier a bien été enregistré à l'emplacement suivant :" & vbCrLf & NomFichier

~ <small> Mortalino ~ Colorisation automatique </small>

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 mars 2007 à 08:56
Salut,


Regarde aussi cette source....


A+
Exploreur


 
3
Dounej Messages postés 28 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 7 avril 2007
20 mars 2007 à 15:13
Un grand merci pour vos réponses



J'ai utilisé la source proposer par  17710 Exploreur  

  http://www.vbfrance.com/codes/COMMENT-CREER-BASE-ACCESS-CREER-TABLE-LIRE-COLONNE_2722.aspx

dont l'auteur est     bigane

Ce programme est très simple et très didactique car il explique chacune des étapes.

(j'avais au préalable fait une longue recherche sur ce site pour trouver une source convenable, le moteur de recherche n'a jamais présenté cette source !,
alors merci de nouveau  =17710 Exploreur  )

Cordialement

Marc
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 mars 2007 à 15:33
Salut,

De rien, et au plaisir....

A+
Exploreur

 
0
Rejoignez-nous