permet de rechercher une valeur unique dans une table - VB/VBA/VBS - Programmation
Marsh Posté le 08-11-2010 à 09:27:10
Quelle est la question ?
Si c'est comment imprimer, alors la réponse est DoCmd.OpenReport stDocName, acViewNormal, , stLinkCriteria
Marsh Posté le 08-11-2010 à 12:03:45
ces mon code de départe il a fonctionne mas + maintenant
ce si pose problème If IsNull(DLookup("[RéfPaiementDétail]", "paiements", "[RéfFacturepayement] = Etats![Factures]![RéfFacture]" )) Then
resteapayer = [Total]
Marsh Posté le 08-11-2010 à 12:18:39
Désolé de demander encore des précisions, mais sinon je ne comprends pas, et les autres ne semblent pas comprendre non plus, sinon ils auraient répondu.
Donc, quel est le problème avec cette ligne de Dlookup ?
- Est-ce qu'il y a un message d'erreur ? Si oui, lequel ?
- Est-ce que cela renvoie null, et donc la condition est satisfaite, et le champ resteapayer est égal au Total ?
- Ou bien est-ce que cela renvoie autre chose et le champ resteapayer est calculé avec l'autre formule ?
- Est-ce que la formule convient ou pas ? si non, alors pourquoi ?
Un proverbe chinois dit que quand on arrive à se poser la bonne question, on résout déjà la moitié du problème.
Marsh Posté le 08-11-2010 à 12:46:29
sorry mon fr pas tres bon
enfaite je cherche a ramplacer ce code If IsNull(DLookup("[RéfPaiementDétail]", "paiements", "[RéfFacturepayement] = Etats![Factures]![RéfFacture]" )) Then
resteapayer = [Total]
Else
resteapayer = [Total] - Nz(DSum("[MontantPaiement]", "paiements", "[RéfFacturepayement] = Etats![Factures]![RéfFacture]" ), 1)
End If
permet de rechercher une valeur unique dans une table bien ok j'ai compris comment je peux ramplacer ce code a fin que je puisse imprimer les factures car la je ne sais + imprimer .
sur clics dans le bouton il me ouvre direct le débogage dans la ligne If IsNull(DLookup("[RéfPaiementDétail]", "paiements", "[RéfFacturepayement] = Etats![Factures]![RéfFacture]" )) Then es que il a moien de ramplacer ce code?
Marsh Posté le 08-11-2010 à 13:04:52
Ok si je passe par ce (DoCmd.OpenReport stDocName) il imprime mais
Dans la facture A payer = [#Erreur] pas de total
Marsh Posté le 09-11-2010 à 14:18:04
A mon avis c'est ta clause Where de ton Dlookup qui pose souci...
C'est quoi "Etats" ?? Si tu veux parler d'un Etat (Report) bah faut utiliser Reports. Mais je doute que ce soit cela, etant donné qu'on ne peut faire reference a une valeur d'un controle d'un etat seulement si on est dans un evenement de type formatage.
Je suppose donc que ton "Etats![Factures]" est un formulaire. Dans ce cas ce serait plutot :
Code :
|
Donc en gros tu recherches la valeur où RéfFacturepayement = RéfFacture ?
Marsh Posté le 08-11-2010 à 07:17:27
permet de rechercher une valeur unique dans une table : cette valeur est celle d'un champ précis, pour une ligne précise de la table,que a très bien fonctionne jusque il y a 2 jour formater mon pc reanstaller et j'ai un problème je sais + imprimer les factures voir mon code ici en rouge. Une idée merci
Private Sub Commande6_Click()
If IsNull(DLookup("[RéfPaiementDétail]", "paiements", "[RéfFacturepayement] = Etats![Factures]![RéfFacture]" )) Then
resteapayer = [Total]
Else
resteapayer = [Total] - Nz(DSum("[MontantPaiement]", "paiements", "[RéfFacturepayement] = Etats![Factures]![RéfFacture]" ), 1)
End If
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Factures"
'Enregistre modif
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Dim ValeurRet As String
ValeurRet = MsgBox("Voulez-vous Imprimer cette Facture ? ", vbYesNo, "Imprimer ou Visualiser ?" )
If ValeurRet = vbYes Then
'imprime
stLinkCriteria = "[N°Facture]=" & "'" & Me![N°Facture] & "'"
DoCmd.OpenReport stDocName, acViewNormal, , stLinkCriteria
End If
If ValeurRet = vbNo Then
'visualisation
stLinkCriteria = "[N°Facture]=" & "'" & Me![N°Facture] & "'"
DoCmd.OpenReport stDocName, acViewPreview, , stLinkCriteria
End If
End Sub