ACCESS affiche #Type!

alio30 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
alio30 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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.
    0
  2. alio30 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Il serait utile que tu partages ton fichier Access.
      0
  3. alio30 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      N'importe quel fichier permettant de reproduire le problème.
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Il est parfois utile de "compacter/réparer" un fichier, pour réduire sa taille.
        0
      2. alio30 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Oui 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
        0
      3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > alio30 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
         
        peut-ê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.
        0
      4. alio30 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Oui 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"
        0
  4. alio30 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0