ACCESS affiche #Type!

Fermé
alio30 Messages postés 6 Date d'inscription mardi 22 mars 2022 Statut Membre Dernière intervention 25 mars 2022 - 22 mars 2022 à 19:17
alio30 Messages postés 6 Date d'inscription mardi 22 mars 2022 Statut Membre Dernière intervention 25 mars 2022 - 25 mars 2022 à 15:23
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

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
22 mars 2022 à 21:18
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
alio30 Messages postés 6 Date d'inscription mardi 22 mars 2022 Statut Membre Dernière intervention 25 mars 2022
23 mars 2022 à 00:33
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
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
23 mars 2022 à 14:27
Il serait utile que tu partages ton fichier Access.
0
alio30 Messages postés 6 Date d'inscription mardi 22 mars 2022 Statut Membre Dernière intervention 25 mars 2022
Modifié le 23 mars 2022 à 14:46
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
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
23 mars 2022 à 15:49
N'importe quel fichier permettant de reproduire le problème.
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
23 mars 2022 à 15:54
Il est parfois utile de "compacter/réparer" un fichier, pour réduire sa taille.
0
alio30 Messages postés 6 Date d'inscription mardi 22 mars 2022 Statut Membre Dernière intervention 25 mars 2022 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
Modifié le 23 mars 2022 à 16:02
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
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > alio30 Messages postés 6 Date d'inscription mardi 22 mars 2022 Statut Membre Dernière intervention 25 mars 2022
23 mars 2022 à 16:31
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
alio30 Messages postés 6 Date d'inscription mardi 22 mars 2022 Statut Membre Dernière intervention 25 mars 2022 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
25 mars 2022 à 15:23
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
alio30 Messages postés 6 Date d'inscription mardi 22 mars 2022 Statut Membre Dernière intervention 25 mars 2022
23 mars 2022 à 15:24
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