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

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