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 :

Concatener une requête dans un string


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 32
    Points : 21
    Points
    21
    Par défaut Concatener une requête dans un string
    Bonjour,
    J'ai fait une requête qui lors de l'appuie sur un bouton exécute la requête. Quand je le fait les date ne sont pas enregistrer et je ne sais pas pourquoi.
    Pouvez vous me dire se qui ne vas pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim SQL As String
    Dim DATE_DEBUT As String
    Dim DATE_fin As String
    DATE_DEBUT = 20/ 5/ 205
    DATE_fin = Str(Format(Me.DATE_fin, "yyyy-mm-dd"))
        SQL = "INSERT INTO dbo_PERSONNE (DATE_DEBUT,DATE_FIN,ID_PERSONNE,ID_SERVICE,CLE_AUTORISATION,PARKING) values (" & DATE_DEBUT & "," & DATE_fin & "," & Me.ID_PERSONNE & "," & Me.ID_SERVICE & "," & Me.CLE_AUTORISATION & "," & Me.PARKING & ")"
        DoCmd.RunSQL SQL
    merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour.

    Je ne sais pas pour le reste mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_DEBUT = 20/ 5/ 205
    ce n'est pas une date c'est une série de division.

    Si tu veux composer une date tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_DEBUT = #5/20/ 205# 'Attention, inversion du mois et du jour.
    ou plus certain :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_DEBUT = dateserial(205, 5, 20)
    Et je pense que l'année 205 n'est pas dans la plage des valeurs pour les dates valides.

    A+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    J'avais mis une date au pif pour voir si cela marchait mais merci beaucoup.
    J'ai remarqué que le nom de la table dans la requête n'était pas bonne et après avoir modifié ça ne change rien.
    toute mes valeurs sont rentré sauf mes dates

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour.

    le dbo_ dans le nom de la table me laisse penser que c'est une table MS-SQL Server pas Access, si oui vérifie le type vu par Access et bien date et pas autre chose.

    Aussi est-ce que tu peux faire une saisie de date manuellement dans la table ?

    Enfin essaye de remplacer ton DoCmd.RunSQL par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim db as dao.database:set db=currentdb
    db.execute(SQL, dbFailOnError)
    set db=nothing
    Le dbFailOnError te donnera peut-être une piste.

    A+

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    J'ai essayer et je n'ai aucun message d'erreur. Cependant j'ai remarqué que peut importe la valeurs que je met elle n'est pas prise en compte ( même si je le met dans le select )

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour.

    Tu as juste essayé le Db.Execute ou tu as aussi fait les autres tests suggérés : la saisie manuelle et le type des données ?

    A+

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    j'ai fait écrit directement avec access dans la table et ça marche. et j'ai tenter de rentrer la chaine sous format string et date donc la j'ai plus trop d'idée

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 350
    Points
    34 350
    Par défaut
    Bonjour,

    le format date dans une requete est de type #TonFormatStandard#

    aussi dans ton SQL ca donnera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "INSERT INTO dbo_PERSONNE (DATE_DEBUT,DATE_FIN,ID_PERSONNE,ID_SERVICE,CLE_AUTORISATION,PARKING) values (#" & DATE_DEBUT & "#,#" & DATE_fin & "#," & Me.ID_PERSONNE & "," & Me.ID_SERVICE & "," & Me.CLE_AUTORISATION & "," & Me.PARKING & ")"

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    Bonjour,

    le format date dans une requete est de type #TonFormatStandard#

    aussi dans ton SQL ca donnera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "INSERT INTO dbo_PERSONNE (DATE_DEBUT,DATE_FIN,ID_PERSONNE,ID_SERVICE,CLE_AUTORISATION,PARKING) values (#" & DATE_DEBUT & "#,#" & DATE_fin & "#," & Me.ID_PERSONNE & "," & Me.ID_SERVICE & "," & Me.CLE_AUTORISATION & "," & Me.PARKING & ")"
    J'ai essayé et ça ne marche toujours pas. A noté que ma base access est connecté via odbc à une base SQL Server. La base se trouve sous SQL SERVER. Les requêtes access fonctionne normalement mais le problème viens peut être de la.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "INSERT INTO dbo_AUTORISATION_ACCES (DATE_DEBUT,DATE_FIN,ID_PERSONNE,ID_SERVICE,CLE_AUTORISATION,PARKING) values (#" & DATE_DEBUT & "#,#" & DATE_FIN & "#," & Me.ID_PERSONNE & "," & Me.ID_SERVICE & "," & Me.CLE_AUTORISATION & "," & Me.PARKING & ")"
    Quand je avec ce code d'enregistrement j'ai toujours le même problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim t As Recordset
     
    Set t = CurrentDb.OpenRecordset("dbo_AUTORISATION_ACCES", DB_OPEN_DYNASET)
    t.AddNew
    'Ajout des enregistrements dans la table MaTable
     
    t![ID_PERSONNE] = Me.ID_PERSONNE
    t![ID_SERVICE] = Me.ID_SERVICE
    t![CLE_AUTORISATION] = Me.CLE_AUTORISATION
    t![PARKING] = Me.PARKING
    t![DATE_DEBUT] = Me.DATE_DEBUT
    t![DATE_FIN] = Me.DATE_FIN
    edit :
    Je viens de remarquer que je peux saisir des dates à la seule condition que mon champs soit liée et que j'utilise le bouton de base access pour enregistrer. Le problème c'est que le datepicker disparait quand le champs est liée à la colonne date début
    re edit :
    access considère mes champs dates comme des strings alors que la base créer sur SQLServer les considère comme des date. donc comment je peux faire pour que Access les considère comme des dates comme tel ?

Discussions similaires

  1. Resultat d'une requête dans TEdit
    Par the watcher dans le forum Connexion aux bases de données
    Réponses: 5
    Dernier message: 08/09/2005, 18h00
  2. Réponses: 3
    Dernier message: 22/07/2005, 12h12
  3. Réponses: 7
    Dernier message: 30/06/2005, 10h06
  4. Enregistrer le résultat d'une requête dans un fichier Excel
    Par Isa31 dans le forum Bases de données
    Réponses: 4
    Dernier message: 24/05/2005, 14h31
  5. Résultat d'une requête dans une variable...
    Par Hoegaarden dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/04/2004, 13h51

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