cs_ShayW
Messages postés3258Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
27 nov. 2019 à 19:42
cs_ShayW
Messages postés3258Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
30 nov. 2019 à 21:12
Bonsoir
J'ai une appliquation utilisant une bd access quand j'execute le prog je n'ai aucune erreur.
Après avoir crée un setup et deployé sur mon ordi (pour tester) quand je lance l'appliquation j'obtiens différentes erreurs
1 L'opération doit utiliser une requête qui peut être mise à jour
2 Impossible de supprimer dans les tables spécifiées
Merci
cs_ShayW
Messages postés3258Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201956 28 nov. 2019 à 19:57
Bonjour
J'ai trouvé la cause mais pas le remède.
Ce n'est pas à cause des requetes d'ailleurs quand je lance l'appliquation avec le visual il n'y a aucun problème mais si je fais un setup et le déploie il va installer la db (fichier mdb)
dans le dossier crée par le setup et la db est read only d'où la le message d'erreur.
cs_ShayW
Messages postés3258Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201956 29 nov. 2019 à 10:58
En continuant les recherches la raison est due à dans quel dossier l'appliquation est installé
Par défault c'est c\programfiles(x86)\dossierduaPP\
et justement à cette location la db est seulement en lecture seulement
cs_ShayW
Messages postés3258Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201956 30 nov. 2019 à 21:12
avec inno setup compiler
la solution est de placer la db dans le dossier C:\Users\user\AppData\Roaming
et dans le code
Dim path As String path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\db1.mdb" Dim base As String = "provider=microsoft.jet.oledb.4.0;data source=" & path If Connection.State = ConnectionState.Open Then Exit Sub End If Connection.ConnectionString = base Try Connection.Open() Catch ex As Exception MessageBox.Show(ex.Message) End Try