Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular aktualisieren

Begonnen von smily68, April 06, 2011, 23:15:39

⏪ vorheriges - nächstes ⏩

smily68

Hallo meine Access-Profis

Ich brauche eure Hilfe.

Ich habe ein Formular mit einem UF0. (Verkaufsauftrag mit Positionen). Das UFO ist in der Datenblattansicht. In diesem UFO werden nur die notwendigen Felder angezeigt. Wenn ich nun ein Datensatz markiere, kann ich mit deiner Schaltfläche ein neues Formular öffnen in dem alle Felder angezeigt werden.

Dieses Zusatzformular wird bei Artikeln automatisch geöffnet die einen entsprechenden Flag im Artikelstamm haben. So weit funktioniert alles.
Wenn ich über die Schaltfläche gehe, wird das Formular geöffnet und der Datensatz angezeigt. Wenn ich einen Datensatz im UFO auswähle mit dem Flag im Artikelstamm wird das Zusatzformular geöffnet, der Datensatz jedoch nicht angezeigt. Ich muss zuerst manuell das Formular aktualisieren, danach wird der Datensatz angezeigt. Wie kann ich dieses Formular automatisch akualiseren.

Hier der Script mit der Schaltfläche:

Private Sub batAuftr_Detail_Click()
   
    Call Navigation.OeffnenAuftrDetail(Me!F_AuftrPos!AuftrPos_ID)
   
End Sub

Sub OeffnenAuftrDetail(AuftrPosID)
    Dim Formular
       
    Formular = "F_AuftrPosZus"
   
    If IsNull(AuftrPosID) Then
        DoCmd.OpenForm Formular, acNormal
    Else
        DoCmd.OpenForm Formular, acNormal, , "[AuftrPos_ID] = " & AuftrPosID
    End If

End Sub

Hier der Script für einen Datensatz mit einem Flag, ich habe ihn an das Kombifeld ArtikelNummer suchen angehängt, da ich kein anderes Feld gefunden habe das sich dafür geeignet hätte.:

Private Sub suchAuftrPos_ArtID_AfterUpdate()
   
    Call ArtikelUpdate
   
End Sub

Sub ArtikelUpdate()

' Schreibe Werte aus dem Artikelstamm auf die Auftragspositionen
    Dim Formular
   
    AuftrPos_VKPreis = Art_VKPreis
    AuftrPos_EKPreis = Art_EKPreis
    AuftrPos_EKTyp = Art_EKTyp
    suchAuftrPos_LiefID = Art_LiefID
    suchAuftrPos_KontoNr = Art_Konto
    Formular = "F_AuftrPosZus"
   
    Select Case AuftrPos_EKTyp
        Case "1"
            AuftrPos_Marge = AuftrPos_VKPreis / 100 * Art_Marge - AuftrPos_EKPreis
        Case "2"
            AuftrPos_Marge = AuftrPos_VKPreis - AuftrPos_EKPreis
        Case "3"
            AuftrPos_Marge = AuftrPos_VKPreis - AuftrPos_EKPreis
    End Select
   
    If Art_Divers = True Then
       
        Call Navigation.OeffnenAuftrDetail(AuftrPos_ID)
       
    End If
   
    Me.Requery
       
End Sub

Ich hoffe ihr könnt mir helfen.

Gruss Daniel

DF6GL

Hallo,



vermutlich:
.
.
.
  End Select

Me.Refresh  'oder Me.Dirty=false
   
    If Art_Divers = True Then
.
.