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

Access Discussion :

Insérer un QrCode [AC-2007]


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Points : 68
    Points
    68
    Par défaut Insérer un QrCode
    Bonjour,
    Je souhaite insérer un qrCode dans un report pour produire des étiquettes d'information.
    Je cherche une solution free, pas à 2 ou 300 euro.
    J'ai trouvé un activeX mais qui ne marche bien que dans un formulaire, dans un report la taille est trop petite, j'ai trouvé une méthode qui utilise l'api Google mais c'est pour Excel et je ne trouve pas comment l'adapter .
    https://sites.google.com/site/e90e50...ode-with-excel
    Une solution online ou local ça me va.
    Avez-vous une solution ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Bonsoir,

    Une solution serait d'insérer un contrôle image dans l'état, de générer une image dans le répertoire courant, et de lier l'image au fichier image.

    Pour générer l'image je me sers de ce code pris sur le site et à copier dans un module :

    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
    'Voir tutoriel d'arkham46
    Public Function DownloadHTTP(ByVal URL As String, ByVal Destination As String) As Boolean
       On Error GoTo catch
       Dim oWinHTTP As Object
       Dim fic As Integer
       Dim buffer() As Byte
     
       Set oWinHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
       oWinHTTP.Open "GET", URL, False
       oWinHTTP.send
     
       If oWinHTTP.Status = 200 Then
          fic = FreeFile
          Open Destination For Binary Lock Read Write As #fic
          buffer = oWinHTTP.ResponseBody
          Put #fic, , buffer
     
          Close #fic
          DownloadHTTP = True
       Else
          MsgBox "Statut retourné par le service : " & oWinHTTP.Status & vbCrLf & _
                 "Description : " & oWinHTTP.StatusText, vbExclamation, "DownloadHTTP()..."
       End If
     
    finally:
       Erase buffer
       Set oWinHTTP = Nothing
       Exit Function
    catch:
       MsgBox "Erreur n°" & Err.Number & vbCrLf & "Description : " & Err.Description, vbExclamation, "DownloadHTTP()..."
       Close   'ferme tous les descripteurs ouverts
      Resume finally
    End Function
    Et la fonction pour générer l'image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function GenererQRCode(QRCODE As String)
    Call DownloadHTTP("http://qrickit.com/api/qr?d=" & QRCODE, CurrentProject.Path & "\QRCode.png")
    'Call DownloadHTTP("https://chart.googleapis.com/chart?cht=" & QRCODE, CurrentProject.Path & "\QRCode.png")
     
    End Function
    Cdlt,

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Points : 68
    Points
    68
    Par défaut
    Bonjour,
    Merci beaucoup pour cette réponse. Effectivement je n'avais pas pensé à passer par une image intermédiaire.
    Pour le moment j'ai une erreur "l'adresse ou le nom de serveur n'à pas pu être resolu", alors qu'en copiant l'URL ça marche. En plus avec les 2 sites. Ce qui me laisse à penser que le problème est ailleurs que dans l'URL.
    Il doit y avoir des attributs en amont qui sont passés dans la variable qrcode.
    Du coup mon URL est
    http://chart.apis.google.com/chart?c...|0&chl=zzzzzzz

    Merci de l'aide

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Oui, il manque des attributs :

    "https://chart.googleapis.com/chart?cht=qr&chs=165x165&chl=zzzzz"

    Cdlt,

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Points : 68
    Points
    68
    Par défaut
    Question complementaire, comment insérez vous l'image et quel type d'objet ?
    J'ai essaye une image bitmap en refaisant me.qrcode.picture=("nom du fichier") mais est-ce la bonne méthode, l'image n'est pas excellente.
    D'autre part lequel des 2 sites vous utilisez, le meilleur par expérience.
    J'au toujours l'erreur, mais je vais tester sur un autre pc .

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Je crois qu'il faut jouer sur le paramètre dimension :

    "https://chart.googleapis.com/chart?cht=qr&chs=165x165&chl=zzzzz"

    Après le code pour générer et affecter l'image au contrôle pourrait ressembler à cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim destination As String
     
    destination = CurrentProject.Path & "\QRCode.png" ' chemin de l'image générée : ici c'est le dossier de la base Access.
     
    Call DownloadHTTP("https://chart.googleapis.com/chart?cht=qr&chs=165x165&chl=" & Me.[QRCode], destination) ' Création de l'image
     
    Me.imgQR.Picture = destination ' Affectation de l'image au contrôle
    Me.[QRCode] fait référence au contrôle contenant le code QR.

    Et Me.imgQR fait référence au contrôle image.

    à+

  7. #7
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 169
    Points : 68
    Points
    68
    Par défaut
    Bonsoir,
    ça y est tout marche.
    Ce sont probablement les infra réseau dans ma boite qui bloquent le type de flux utilisé. A la maison c'est OK.
    pour améliorer la qualité j'ai pris QRickit en passant en gif plutôt que png.
    J'ai pas creusé Google s'il est possible d'affiner le paramétrage.

    Merci de votre aide précieuse

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

Discussions similaires

  1. comment créer, ou insérer ou générer un qrcode dans ireport ?
    Par clavier12AZQSWX dans le forum iReport
    Réponses: 0
    Dernier message: 09/09/2011, 18h05
  2. [CR7] Insérer une image dynamiquement
    Par yoloosis dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 28/07/2003, 09h54
  3. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44
  4. Comment insérer un loading ?
    Par ajit dans le forum Flash
    Réponses: 4
    Dernier message: 21/11/2002, 14h33
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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