IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Probleme code sql


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Probleme code sql
    Bonjour j'ai un petit probleme avec un un code sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "UPDATE Réservation SET Date = " & dteDate & ", salle = " & strSalle & ", nom = " & strNom & ", options = " & stroptions & ", Comm = " & strComm & ", heurec = " & dtebeg2 & ", heuref = " & dteend2 & " WHERE resnum = " & strnum
    Je me demande bien ce qu'il y a de faux ... merci de m'aidé

  2. #2
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    Je pense qu'il y a un pb au niveau de la date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunSQL "UPDATE Réservation SET Date = #" & format(dteDate,"mm/dd/yyyy" & "#, salle = " & strSalle & ", nom = " & strNom & ", options = " & stroptions & ", Comm = " & strComm & ", heurec = " & dtebeg2 & ", heuref = " & dteend2 & " WHERE resnum = " & strnum
    A++

  3. #3
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    en faite il y aussi un pb sur tous les zone
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunSQL "UPDATE Réservation SET Date = #" & format(dteDate,"mm/dd/yyyy" & "#, salle = '" & strSalle & "', nom = '" & strNom & "', options = '" & stroptions & "', Comm = '" & strComm & "', heurec = '" & dtebeg2 & "', heuref = '" & dteend2 & "' WHERE resnum = " & strnum
    A toi de voir pour mettre les bons délimiteurs (' pour tu texte; # pour des date, ...)

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Après vos conseil j'ai essayé de faire comme vs avez dis et ca plante toujours, meme avec le format

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "UPDATE Réservation SET Date = #" & dteDate & "#, salle = '" & strSalle & "', nom = '" & strNom & "', options = '" & stroptions & "', Comm = '" & strComm & "', heurec = #" & dtebeg2 & "#, heuref = #" & CStr(dteend2) & "# WHERE resnum = '" & strnum & "'"

  5. #5
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    Il y a t'il un message ?
    A tu fait la rq dans l'éditeur d'access, fait copié colle du code SQL et le re-travailler dans VBA en remplacant les variables

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    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
    Private Sub Commande42_Click()
    Dim cnAccess As New ADODB.Connection
    Dim rstRecordset1 As New ADODB.Recordset
    Set cnAccess = CurrentProject.Connection
    Dim response As Integer, stroptions As String, strnum As String
    Dim strNom As String, strSalle As String, strComm As String
    Dim dteDate As Date, dtebeg2 As Date, dteend2 As Date
     
    If Check4.Value = True Then
    stroptions = "TV  "
    End If
     
    If Check6.Value = True Then
    stroptions = stroptions + "Video  "
    End If
     
    If Check8.Value = True Then
    stroptions = stroptions + "Projecteurs  "
    End If
     
    If Check10.Value = True Then
    stroptions = stroptions + "Audio  "
    End If
     
    If Check14.Value = True Then
    stroptions = stroptions + "Grand écran  "
    End If
     
    strNom = Text16
     
    strComm = Texte22
     
    strSalle = Combo2
     
    dteDate = Text20
     
    strnum = Texte34
     
    dtebeg2 = Texte30
     
    dteend2 = Texte28
     
    response = MsgBox("Modifier cette réservation ?", vbYesNo, "Controle")
    If response = vbYes Then
    DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE Réservation SET Date = #" & dteDate & "#, salle = '" & strSalle & "', nom = '" & strNom & "', options = '" & stroptions & "', Comm = '" & strComm & "', heurec = #" & dtebeg2 & "#, heuref = #" & CStr(dteend2) & "# WHERE resnum = '" & strnum & "'"
    DoCmd.SetWarnings True
    End If
    End Sub
    je sais il y a un peu de trop déclarer cest parceque sinon je dois trop retaper

  7. #7
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    ça ne répond pas vraiment à la question que je t'ai posé.

    Pour moi la meilleur solution :
    1°) faire la requète manuellement dans l'éditeur de req d'access
    2)° La testé
    3°) copier le SQL dans Vba
    4°) remplacer les paramétre de la req SQl par
    #" & format(Date(),"mm/dd/yyyy") & "# pour les dates
    '" & StrNomVariable &"' pour le texte
    " & LngNomDeLaVariable & " pour le numérique

  8. #8
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Petite parenthèse : A ta place, je ne nommerai pas un champ avec le mot Date. Il y a de fortes chances que ce soit un mot réservé.

  9. #9
    Membre du Club

    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 54
    Points
    54
    Par défaut
    c'était pour l'exemple car c'est en effet un mot réservé

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "UPDATE Réservation SET Date = '" & dteDate & "' where resnum = " & strnum
    c'est cette partie la qui fait l'erreur sql

  11. #11
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    La syntaxe pour l'insertion ou la modification d'un champ date est :

    "INSERT INTO MaTable (MaDate) VALUES (#" & Format(strdate1, "mm/dd/yyyy") & "#)"


    Et je pense qu'il te manque un guillemet à la fin de ton update après ta variable du where

  12. #12
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Comme Pc75 et STEF_1 te l'ont fait remarqué, ton problème vient du fait que tu as nommé un champ de ta table par un mot réservé par access : Date.

    En espérant t'avoir aidé.

  13. #13
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    pour le débogage de requête engendrées par du code

    http://cafeine.developpez.com/access...el/debugprint/
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



Discussions similaires

  1. [AC-2000] Probleme de SQL au milieu de mon code VBA
    Par teen6517 dans le forum VBA Access
    Réponses: 6
    Dernier message: 12/08/2010, 13h51
  2. [MySQL] Probleme requete sql et code html
    Par needles94000 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/03/2006, 17h38
  3. probleme code vba ne s'execute pas apres instruction sql
    Par arnogef dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/12/2005, 12h34
  4. [langage] probleme code
    Par louisis dans le forum Langage
    Réponses: 5
    Dernier message: 30/06/2004, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo