ACCESS affiche #Type!

Bonjour à tous,

Me revoilà dans Access après une douzaine sans en faire, je me trouve bloquer pour un souci.
Au fait, quand on clique sur un bouton "imprimer etiquette", cela m'affiche une page avec 4 fois #Type !. Chaque #Type devrait correspondre à Nom, adresse 1 et 2, code postale. Ci- après un exemple du critère:

=VraiFaux(![Address1] Est Pas Null; SupprEspace(![Address1]);" ")
=[Codepostal] & " " & [Ville]

#Type doit etre une erreur de conversion (String / Integer / autre).
Mais là, je suis bloqué. Si quelqu'un a une idée. Merci de m'aider SVP

4 réponses

  1. Ci-dessous le code relatif au bouton "imprimer etiquette" :

    Private Sub Bt_Imp_Etiq_Click()
    Dim db As Database
    Dim résultat As Recordset
    Dim strrech As String
    Dim i, j
    Dim table(500, 7)

    DoCmd.RunCommand acCmdRefresh
    Select Case MsgBox("Voulez imprimez l'adresse de facturation ou de livraison ? " & Chr(10) & Chr(13) & "OUI = FACTURATION" & Chr(10) & Chr(13) & "NON = LIVRAISON", vbYesNoCancel)
    Case vbCancel
    Exit Sub
    Case vbYes ' facturation
    Set db = CurrentDb()
    strrech = "SELECT Clients.[PaysFacturation],Clients.[nbreétiquette],Clients.[VilleFacturation],Clients.[CodePostFacturation],Clients.[NomFacturation],Clients.[AdresseFacturation1],Clients.[AdresseFacturation2] FROM Clients WHERE Clients.[Selec fiche]=true "
    i = 1
    DoCmd.Hourglass True
    Set résultat = db.OpenRecordset(strrech)
    Do Until résultat.EOF
    table(i, 1) = résultat![NomFacturation]
    table(i, 2) = résultat![AdresseFacturation1]
    table(i, 3) = résultat![AdresseFacturation2]
    table(i, 4) = résultat![CodePostFacturation]
    table(i, 5) = résultat![VilleFacturation]
    table(i, 6) = résultat![nbreétiquette]
    table(i, 7) = résultat![PaysFacturation]
    i = i + 1
    résultat.MoveNext
    Debug.Print i
    Loop
    résultat.Close
    Case vbNo ' livraison
    Set db = CurrentDb()
    strrech = "SELECT Clients.[Ville],Clients.[nbreétiquette],Clients.[Pays],Clients.[NomEntreprise],Clients.[Adresse1],Clients.[Adresse2],Clients.[CodePostal] FROM Clients WHERE Clients.[Selec fiche]=true "
    i = 1
    DoCmd.Hourglass True
    Set résultat = db.OpenRecordset(strrech)
    Do Until résultat.EOF
    table(i, 1) = résultat![NomEntreprise]
    table(i, 2) = résultat![Adresse1]
    table(i, 3) = résultat![Adresse2]
    table(i, 4) = résultat![CodePostal]
    table(i, 5) = résultat![Ville]
    table(i, 6) = résultat![nbreétiquette]
    table(i, 7) = résultat![Pays]
    i = i + 1
    résultat.MoveNext
    Loop
    résultat.Close
    End Select
    Set résultat = db.OpenRecordset("Impression étiquettes", dbOpenTable)
    Do Until résultat.EOF
    résultat.Delete
    résultat.MoveNext
    Loop
    j = 1
    For i = 1 To 50
    If (Not (IsNull(table(i, 1)))) Then
    For j = 1 To table(i, 6)
    résultat.AddNew
    résultat![NomFacturation] = table(i, 1)
    résultat![Address1] = table(i, 2)
    résultat![Address2] = table(i, 3)
    résultat![CodePostal] = table(i, 4)
    résultat![Ville] = table(i, 5)
    résultat![Pays de liv] = table(i, 7)
    résultat.Update
    Next j
    End If
    Next i
    DoCmd.Hourglass False
    DoCmd.OpenReport "etiquette adresse client", acPreview
    End Sub
    Private Sub Bt_Recopie_Adr_Click()
    Select Case MsgBox("Voulez-vous écraser les coordonnées de l'entreprise par celle de la facturation ? ", vbYesNo)
    Case vbYes
    Me![NomEntreprise] = Me![NomFacturation]
    Me![Adresse] = Me![AdresseFacturation]
    Me![Adresse2] = Me![AdresseFacturation2]
    Me![CodePostal] = Me![CodePostFacturation]
    Me![Ville] = Me![VilleFacturation]
    Me![Région] = Me![RégionFacturation]
    Me![Pays] = Me![PaysFacturation]
    Case vbNo
    Exit Sub
    End Select
    End Sub

    Une aide SVP ?
    Merci
    1. Excusez-moi, vous parlez du fichier .mdb (centaine de Mo) sur lequel il y a tout ou juste le module correspondant a la partie etiquette ? (Désolé je suis perdu).

      Je peux vous partager tous les codes par exemple
      1. Contributeur
        N'importe quel fichier permettant de reproduire le problème.
      2. Contributeur
        @yg_beIl est parfois utile de "compacter/réparer" un fichier, pour réduire sa taille.
      3. @yg_beOui je pourrais zip ou winrar le fichier mais je pense qu'il y a des données "confidentiel" dessus. Je vais voir si je peux isoler le formulaire / module en question uniquement.

        Je vous ai mis ci-dessous le code relatif au bouton en attendant si jamais cela pourrait inspirer.

        En tout cas, merci de prendre le temps de me répondre
      4. Contributeur
        @alio30peut-être faire une copie, vider les tables, puis ajouter des données bidon.
        si cela permet de montrer le problème.
        "compacter/réparer", cela se fait à partir de Access.

        Le code ne m'inspire pas. Si je comprends bien, il fonctionne bien, le soucis, c'est avec les données affichées dans un état.
      5. @yg_beOui c'est bien cela, le problème repose sur l'affichage des données dans un état.
        Je n'arrive pas à vider complètement toutes les données pour pouvoir vous montrer ici le fichier access.

        En attendant, j'ai modifié les codes qui affichent les données et j'ai quelques choses mais la solution n'est pas très correcte "en terme de programmation"
    2. Merci de votre réponse

      Oops, pardon, une douzaine d'années* (voir plus) donc autant dire avec les neurones vieillissants que j'ai tout oublié.

      En cliquant sur le bouton "imprimer etiquette", cela devrait ouvrir un onglet "etiquette" mais au lieu cela affiche actuellement:
      #Type!
      #Type!
      #Type!
      #Type!

      En basculant sur "mode creation" de cet onglet, on a les 4 critères suivants :

      =VraiFaux(![NomFacturation] Est Pas Null; SupprEspace(![NomFacturation]);" ")
      =VraiFaux(![Address1] Est Pas Null; SupprEspace(![Address1]);" ")
      =VraiFaux(![Address2] Est Pas Null; SupprEspace(![Address2]);" ")
      =[Codepostal] & " " & [Ville]

      J'espère que vous comprenez un peu plus mon problème
      1. Contributeur
        Il serait utile que tu partages ton fichier Access.
    3. Contributeur
      bonjour,
      "une douzaine de jours sans en faire"?
      si je vois bien, tu nous montres deux critères.
      lequel te crée un soucis?
      où est "Nom, adresse 1 et 2, code postale"?

      il sera peut-être plus simple que tu partages ton fichier Access, et ensuite que tu expliques.