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 :

Pb INSERT INTO


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 31
    Points
    31
    Par défaut Pb INSERT INTO
    bonjour j'ai un souci voila mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    txt = SelectFile()
                DoCmd.RunSQL "INSERT INTO tbl_modele([nom du modele],[Images]) values (txt_enr2.Value:txt)"
    SelectFile() me retourne un string
    mais il y a une erreur car après access me demande de renseigner le paramètre txt. il ne prens pas txt comme le string qui est definit.

    merci d'avance

  2. #2
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    bonjour, essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    txt = SelectFile() 
                DoCmd.RunSQL "INSERT INTO tbl_modele([nom du modele],[Images]) values (" & txt_enr2.Value & "," & txt & ")"

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    maintenant il me met ça comme erreur

    Erreur de syntaxe (Opérateur absent) dans l'expression 'C:\a.bmp'.
    C:\a.bmp c'est le contenu de ma variable txt

  4. #4
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    comme ca alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    txt = SelectFile() 
                DoCmd.RunSQL "INSERT INTO tbl_modele([nom du modele],[Images]) values (" & txt_enr2.Value & ",'" & txt & "')"
    si txt_enr2.value est un string, il faut mettre la valeur entre ' ' aussi

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    maintenant il me met ça comme erreur

    Erreur de syntaxe dans la chaine dans l'expression "C:\a.bmp'.
    maintenant il a changer le premier caractère c'est des GUILLEMETS

  6. #6
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    chez moi je viens de tester et ca marche #1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim txt As String
    txt = "blabla"
    DoCmd.RunSQL "INSERT INTO table1([test],[test2]) values (" & nbEtiquette1.Value & ",'" & txt & "')"
    a toi de voir maintenant si tu n'as pas fait une erreur de syntaxe et assure toi que txt_enr2.Value est de type numérique sinon ca prend les ' '

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    désolé mais il y a toujour le même souci

  8. #8
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    montre ce que tu as mit comme sql et dit moi les valeur que tu veux ajouter

    ex:
    sql = ton_code_sql
    txt_enr2.value = lavaleur
    txt = lavaleur

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    je pense savoir d'où ça viens mais je ne sais pas le resoudre voilà je recupère le chemin de fichier avec ce code pour appeler un opendialogue

    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
     
    Option Compare Database
     
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
                            "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
     
    Private Type OPENFILENAME
          lStructSize As Long
          hWndOwner As Long
          hInstance As Long
          lpstrFilter As String
          lpstrCustomFilter As String
          nMaxCustFilter As Long
          nFilterIndex As Long
          lpstrFile As String
          nMaxFile As Long
          lpstrFileTitle As String
          nMaxFileTitle As Long
          lpstrInitialDir As String
          lpstrTitle As String
          flags As Long
          nFileOffset As Integer
          nFileExtension As Integer
          lpstrDefExt As String
          lCustData As Long
          lpfnHook As Long
          lpTemplateName As String
    End Type
     
    Function SelectFile() As String
     
        Dim OpenFile            As OPENFILENAME
        Dim lReturn             As Long
        Dim sFilter             As String
        Dim fichier            As String
     
        OpenFile.lStructSize = Len(OpenFile)
     
        'OpenFile.hwndOwner = Form1.hwnd
        OpenFile.hWndOwner = Screen.ActiveForm.Hwnd
        'OpenFile.hInstance = App.hInstance
        OpenFile.lpstrFile = "*.bmp"
        sFilter = "Fichiers Images (*.bmp)" & Chr(0) & "*.bmp" & Chr(0)
        OpenFile.lpstrFilter = sFilter
        OpenFile.nFilterIndex = 1
        OpenFile.lpstrFile = String(257, 0)
        OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
        OpenFile.lpstrFileTitle = OpenFile.lpstrFile
        OpenFile.nMaxFileTitle = OpenFile.nMaxFile
        OpenFile.lpstrInitialDir = "C:\"
        OpenFile.lpstrTitle = "Insérer une image"
        OpenFile.flags = 0
        lReturn = GetOpenFileName(OpenFile)
     
        fichier = (Trim(OpenFile.lpstrFile))
        SelectFile = fichier
     
    End Function
    et à mon avis le string que je récupère dans txt n'est pas fini c'est à dire que pour "C:\a.bmp" on à "C:\a.bmp||||||||||||||||||||||||||||||||....." car il caste le string à 257 caractère mais c'est une fonction que j'ai trouver sur le forum je ne sais pas faire autrement

    txt=SelectFile()

    ça c'est mon code SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunSQL "INSERT INTO tbl_modele([nom du modele],[Images]) values(txt_enr2.Value,'" & txt & "')"
    txt_enr2.Value c'est du texte


    merci d'avance

  10. #10
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    utilice cela
    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
     
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ 
                            "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long 
     
    Private Type OPENFILENAME 
          lStructSize As Long 
          hWndOwner As Long 
          hInstance As Long 
          lpstrFilter As String 
          lpstrCustomFilter As String 
          nMaxCustFilter As Long 
          nFilterIndex As Long 
          lpstrFile As String 
          nMaxFile As Long 
          lpstrFileTitle As String 
          nMaxFileTitle As Long 
          lpstrInitialDir As String 
          lpstrTitle As String 
          flags As Long 
          nFileOffset As Integer 
          nFileExtension As Integer 
          lpstrDefExt As String 
          lCustData As Long 
          lpfnHook As Long 
          lpTemplateName As String 
    End Type 
     
    Function SelectFile() As String 
     
        Dim OpenFile            As OPENFILENAME 
        Dim lReturn             As Long 
        Dim sFilter             As String 
        Dim fichier            As String 
     
        OpenFile.lStructSize = Len(OpenFile) 
     
        'OpenFile.hwndOwner = Form1.hwnd 
        OpenFile.hWndOwner = Screen.ActiveForm.Hwnd 
        'OpenFile.hInstance = App.hInstance 
        OpenFile.lpstrFile = "*.bmp" 
        sFilter = "Fichiers Images (*.bmp)" & Chr(0) & "*.bmp" & Chr(0) 
        OpenFile.lpstrFilter = sFilter 
        OpenFile.nFilterIndex = 1 
        OpenFile.lpstrFile = Space$(254) 
        OpenFile.nMaxFile = 255
        OpenFile.lpstrFileTitle = space$(254)
        OpenFile.nMaxFileTitle = 255 
        OpenFile.lpstrInitialDir = "C:\" 
        OpenFile.lpstrTitle = "Insérer une image" 
        OpenFile.flags = 0 
        lReturn = GetOpenFileName(OpenFile) 
     
        fichier = (Trim$(OpenFile.lpstrFile)) 
        SelectFile = fichier 
     
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunSQL "INSERT INTO tbl_modele([nom du modele],[Images]) values('" & txt_enr2.Value & "','" & txt & "')"

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    c'est ça qu'il y a dans la valeur de txt "C:\PLUME.BMP" et si dans le débogage je vire le  ça passe dans le cas contraire ça ne passe pas

    mais avant il y en avais jusque 255

  12. #12
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    on va faire un test

    met ceci
    OpenFile.lpstrFile = string$(254, vbnullchar) à la place de OpenFile.lpstrFile = Space$(254)

    et

    OpenFile.lpstrFileTitle = string$(254,vbnullchar) à la place de OpenFile.lpstrFileTitle = space$(254)

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    avec ce code cela devient comme ça :

    OpenFile.lpstrFile = string$(254, vbnullchar)

    "C:\b.bmp"

  14. #14
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    ok laise le code comme ca et utilise ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fichier = Mid$(openfile.lpstrFile, 1, InStr(1, openfile.lpstrFile, vbNullChar) - 1)

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    c'est cool merci ça marche t'assure

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/10/2006, 15h28
  2. probleme clé sequentiel avec insert into
    Par shake dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/06/2004, 16h54
  3. probleme d'INSERT INTO et JavaScript
    Par Matlight dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/03/2004, 16h36
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 12h38
  5. Insert Into + Date
    Par BoeufBrocoli dans le forum SQL
    Réponses: 10
    Dernier message: 13/08/2003, 12h23

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