Bonjour a tous,
En espérant être dans la bonne section
Voila, je rencontre un problème avec la création et l’utilisation d’une petite bdd liée a un soft que l’on développe au boulot.
Une fois généré, ce soft s’installe via un .exe et doit créer un fichier nommé ophtalmo.accdb dans un rep contenu sur le nas du boulot
(nas\calculateur\bdd) pour le path
J’ai donc fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
' Si la base n'existe pas on insère une base vide par code
        ' La base est sur le reseau de l'utilisateur
        BddPath = "\\nas\Calculateur\bdd" 		‘chemin
        fichbase = BddPath & "\Ophtalmo.accdb"			‘nom du fichier accdb
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & BddPath & "\Ophtalmo.accdb"
        If System.IO.File.Exists(fichbase) = False Then
            If CreateAccessDatabase(fichbase) = False Then Exit Sub
        End If
Avec la fonction CreateAccessDatabase suivante :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Public Function CreateAccessDatabase(ByVal DatabaseFullPath As String) As Boolean
        Dim cat As New ADOX.Catalog()
        Dim tbl1 As New ADOX.Table
        Dim tbl2 As New ADOX.Table
        Try
            cat.Create("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & BddPath & "\Ophtalmo.accdb")
            ' Création de la table Praticiens
            With tbl1
                .Name = "Praticiens"
                ' le seul champ de cette table
                .Columns.Append("Praticien", ADOX.DataTypeEnum.adVarWChar, 50)
            End With
            cat.Tables.Append(tbl1)
 
            ' Création de la table Consultations
            With tbl2
                .Name = "Consultations"
                ' les champs de la BDD 
                .Columns.Append("praticien", ADOX.DataTypeEnum.adVarWChar, 50)
                .Columns.Append("day", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("nom", ADOX.DataTypeEnum.adVarWChar, 50)
                .Columns.Append("prenom", ADOX.DataTypeEnum.adVarWChar, 50)
                .Columns.Append("naissance", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("age", ADOX.DataTypeEnum.adVarWChar, 3)
                .Columns.Append("oeil", ADOX.DataTypeEnum.adVarWChar, 2)
                .Columns.Append("S", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("C", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Axe", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("sc", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("cc", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("ac", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("dva", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("add", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("nva", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("K1", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("K2", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("QI", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Pachy", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("ACD", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("AL", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("AD", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Pseudophake", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Pupilmeso", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Pupilphoto", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Pupilmax", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("SL", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("QL", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Q1et2", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Epsilon", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("QT", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("Qideal", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("QF", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("deltaQ", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("KIMAGE", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("TS", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("relift", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("version", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("flagimage", ADOX.DataTypeEnum.adVarWChar, 1)
                .Columns.Append("qileft", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("qiright", ADOX.DataTypeEnum.adVarWChar, 10)
                .Columns.Append("deltaqi", ADOX.DataTypeEnum.adVarWChar, 10)
            End With
            cat.Tables.Append(tbl2)
            Return True
 
        Catch Excep As System.Runtime.InteropServices.COMException
            messageaff = "Database building Error"
            infoaff = "Information"
            MessageBox.Show(messageaff, infoaff, MessageBoxButtons.OK, MessageBoxIcon.Warning)
            Return False
        Finally
            cat = Nothing
        End Try
End Function
Je rencontre le souci suivant :
A l’installation, j’ai le message
"Database building Error"
et bien sur, aucun fichier accdb n’est crée
J’essaye depuis plusieurs jours de comprendre le souci mais rien de rien.
Je ne vois pas ce qui peut empêcher cette création.
J’ai essayé d’autres chemins réseau, et même de situer le accbd dans « mes documents » pour voir (BddPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments))

Ca ne fonctionne pas non plus

Pourriez vous me donner un petit coup de main ?
Merci beaucoup

Ps : je précise que les champs ont été vérifiés et sont corrects