cs_grivel
Messages postés31Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention29 mai 2005
-
16 févr. 2005 à 08:51
cs_grivel
Messages postés31Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention29 mai 2005
-
16 févr. 2005 à 17:27
Salut à tous,
voici mon problème :
je fais une appli permettant de gérer une BDD Access, elle fonctionne très bien mais lorsque je veux ajouter une ligne dans une table (enregistrer une nouvelle entrée) à partir de mon appli, elle semble mettre du temps à mettre à jour la table.
Par exemple, je rentre une adresse et je l'enregistre, la première fois il n'y a pas de problème. Si je la cherche tout de suite après, elle est déjà dans la table.
Mais si j'enregistre d'autres adresses après je ne peux pas y accéder de suite, l'appli me dit que ces adresses n'existent pas...
Pourtant quand je relance l'appli, elle me les trouve de suite, voilà donc pourquoi je pense que la base de données met un certain temps à se mettre à jour...
N'y a-t-il rien pour accélérer le processus ?
cs_grivel
Messages postés31Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention29 mai 2005 16 févr. 2005 à 09:23
Private Sub cmdValiderAjouter_Click()
'ajouter un article
Dim ca As Command
Set ca = New Command
ca.CommandText = "NouvelleMap"
'permet de créer un paramètre
ca.Parameters.Append ca.CreateParameter("nom", adChar, adParamInput, 20)
ca.Parameters.Append ca.CreateParameter("nbjoueurs", adInteger, adParamInput)
ca.Parameters.Append ca.CreateParameter("designation", adChar, adParamInput, 400)
ca.Parameters.Append ca.CreateParameter("photo", adChar, adParamInput, 200)
'renseignement du paramètre
ca.Parameters("Nom").Value = txtMap.Text
ca.Parameters("NbJoueurs").Value = txtJoueurs.Text
ca.Parameters("Designation").Value = txtDesc.Text
ca.Parameters("Photo").Value = txtImage.Text
'indication de la connection
ca.ActiveConnection = co
If txtMap.Text = "" Then
MsgBox "Veuillez saisir un nom de map !"
txtMap.SetFocus
Else
If txtJoueurs.Text > 32 Or txtJoueurs.Text < 2 Then
MsgBox ("Choisissez un nombre entre 2 et 32 !")
txtJoueurs.Text = ""
txtJoueurs.SetFocus
Else
'problème de temps pour enregistrer une entrée
Dim rep As Integer
rep = MsgBox("Confirmer l'ajout ?", vbYesNo)
If rep = vbYes And txtMap.Text <> "" Then
ca.Execute
Timer1.Enabled = True
Enregistrement.Show
Call raz(Me)
Else
MsgBox "Ajout annulé !"
End If
End If
End If
Set ca = Nothing
End Sub
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 16 févr. 2005 à 12:09
En DAO en Cochant..Projet.Référence Microdoft DAo 3.51 Object Library :
Dim Rep As Integer
If txtMap.Text = "" Then
MsgBox "Veuillez saisir un nom de map !"
txtMap.SetFocus
exit sub
end if
If txtJoueurs.Text > 32 Or txtJoueurs.Text < 2 Then
MsgBox ("Choisissez un nombre entre 2 et 32 !")
txtJoueurs.Text = ""
txtJoueurs.SetFocus
exit sub
end if
Rep = MsgBox("Confirmer l'ajout ?", vbYesNo)
If Rep <> vbYes Then
MsgBox "Ajout annulé !"
Else
Set Db = OpenDatabase("C:\MaBase.mdb")
Set Ajout= Db.OpenRecordset("SELECT * FROM TaTable")
Ajout.AddNew
Ajout("Nom") = txtMap.Text
Ajout("NbJoueurs") = txtJoueurs.Text
Ajout("Designation") = txtDesc.Text
Ajout("Photo")= txtImage.Text
Ajout.Update
Set Ajout=Nothing
Set Db=Nothing
End If
cs_grivel
Messages postés31Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention29 mai 2005 16 févr. 2005 à 14:54
J'ai bien coché cette référence et non, je n'ai pas de mot de passe dans la base.
Voici mon code tel qu'il est maintenant :
Private Sub cmdValiderAjouter_Click()
Dim Rep As Integer
If txtMap.Text = "" Then
MsgBox "Veuillez saisir un nom de map !"
txtMap.SetFocus
Exit Sub
End If
If Val(txtJoueurs) > 32 Or Val(txtJoueurs) < 2 Then
MsgBox ("Choisissez un nombre entre 2 et 32 !")
txtJoueurs.Text = ""
txtJoueurs.SetFocus
Exit Sub
End If
Rep = MsgBox("Confirmer l'ajout ?", vbYesNo)
If Rep <> vbYes Then
MsgBox "Ajout annulé !"
Else
Set Db = OpenDatabase(App.Path & "\bdmaps.mdb")
Set Ajout = Db.OpenRecordset("SELECT * FROM MapsCS")
Ajout.AddNew
Ajout("Nom") = txtMap.Text
Ajout("NbJoueurs") = txtJoueurs.Text
Ajout("Designation") = txtDesc.Text
Ajout("Photo") = txtImage.Text
Ajout.Update
Set Ajout = Nothing
Set Db = Nothing
Timer1.Enabled = True
Enregistrement.Show
Call raz(Me)
End If
End Sub
cs_grivel
Messages postés31Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention29 mai 2005 16 févr. 2005 à 15:35
Ca marche avec la 3.6 mais j'ai toujours le même problème, à savoir que j'enregistre 1 ajout, je le cherche, il me le trouve de suite, mais dès que j'en fais plusieurs, l'appli ne me les trouve plus, elle me dit "Cette map n'existe pas"...Je ne comprends vraiment pas là...
cs_grivel
Messages postés31Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention29 mai 2005 16 févr. 2005 à 16:03
Je ne connais pas la ligne exacte mais ce qui est sûr, c'est qu'il y a un problème dans le code de l'ajout (cf ci-dessus), mais je ne sais pas où...
Il m'envoie le message d'erreur (le mien, pas une erreur système) que j'ai mis au cas où la donnée recherchée n'existe pas...
Le problème c'est que quand j'enregistre 1 ajout, je le cherche, il me le trouve de suite, mais dès que j'en fais plusieurs, l'appli ne me les trouve plus...
Par contre, si j'arrête puis je relance l'appli elle me les trouve tous sans problème...