permet de rechercher une valeur unique dans une table

permet de rechercher une valeur unique dans une table - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 08-11-2010 à 07:17:27   

Reply

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

Reply

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]

Reply

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.

Reply

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?

Reply

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

Reply

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 :
  1. If IsNull(DLookup("[RéfPaiementDétail]", "paiements", "[RéfFacturepayement] = " & Forms("Factures" )("RéfFacture" )) Then


 
Donc en gros tu recherches la valeur où RéfFacturepayement = RéfFacture ?


Message édité par SuppotDeSaTante le 09-11-2010 à 14:20:57

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed