Office: (Office 2010) Gültigkeit

Helfe beim Thema Gültigkeit in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; \@Christian sorry, aber ich habe inzwischen so viele Varianten, das ich dieses Überbleibsel übersehen habe. Zu Pkt 5. Mach mal: Im 1. Artikel (steht... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Prof.Adv, 5. Dezember 2020.

  1. Gültigkeit


    \@Christian
    sorry, aber ich habe inzwischen so viele Varianten, das ich dieses Überbleibsel übersehen habe.
    Zu Pkt 5.
    Mach mal: Im 1. Artikel (steht auf Null) einen hinzu buchen !
    Was kommt dann ? Meldung. !! ? Und dann Debuggen. Gemeckert wird Me.Menge = int_Bestand

    Übrigens:
    Nur erwähnen wollte ich, das ALLE Codes nicht von mir stammen, geschweige das ich diese SELBST schreibe.
     
  2. Muss man ja auch nicht alles selbst schreiben.
    Aber verstehen sollte man das, was kopiert wurde schon ...

    Klar.
    Ich habe den Code geschrieben, BEVOR ich einen Blick auf die DB geworfen hatte. Mit anderen Worten: die "Mache" (wie Elmar das nennt) mit Zu- und Abgängen durchgehend mit positiven Zahlen und dem Faktor -1 über die Tabelle mit den Bewegungsarten kannte ich da noch nicht.

    Übrigens (erneut): 0 ist nicht NULL.

    Erweitere halt die Überprüfung in menge_afterupdate um die zusätzliche Prüfung auf Abgänge.

    Code:
     
    hcscherzer, 15. Dezember 2020
    #47
  3. \@Christian
    Wenn ich diese Zeile so erweitere kommt kurz vor dem End If gelb hinterlegt Me.Menge = int_Bestand
    Die str Meldung "Im Vorrat......" kommt immer noch.

    PHP:
             Private Sub menge_afterupdate()
    Dim str_Meldung As String
    Dim int_Bestand 
    As Integer

    int_Bestand 
    Forms!FrmArtikelErfassung!ErfassungUfoBestand.Form!Bestand.Value

    If Me.Menge int_Bestand And Me.Kombo_Vorgangsart.Column(1) <> "Verbrauch" Then

    str_Meldung 
    "Im Vorrat ist nicht mehr so viel vorhanden!" vbCrLf "Erst mal einkaufen bitte."
    'diese Meldung kommt wenn der Bestand 0 war und ein neuer hinzukommen soll
    Beep

    MsgBox str_Meldung, vbOKOnly Or vbInformation, "Nicht genug Ware!"

    Me.Menge = int_Bestand
    '
    diese Zeile wird gelb hinterlegt
    End 
    If

    End Sub
     
  4. Gültigkeit

    Hallo Prof.,
    Das kann man ja nicht mit ansehen *wink.gif*
    Anbei ein schnell zusammen geklicktes Ergebnis. Da musst du jetzt nur
    noch deine Buttons (die funzten ja in deinem Beispiel) und deine weiteren
    Funktionalitäten (NotInList oder was du da noch hast) einbauen.
    Folgendes habe ich geändert/neu gemacht
    - das Datenmodell um eine n:m-Beziehung zwischen Lieferanten und Artikel
    ergänzt. Aldi-Cola gibt es zwar nur bei Aldi, aber Müller-Milch gibt's überall.
    - die Tabelle "ArtikelBestand" in "Artikelbewegungen" umbenannt.
    - ein neues Form "ArtikelVerwaltung" angelegt. Mit den beiden ungebunden
    Kombifeldern im Kopf kannst du nun die Artikelauswahl auf einen ausgewählten
    Lieferanten einschränken. Die Auswahl des Artikels zeigt diesen an. Dabei werden
    - im UFo "Lieferanten" alle zum Artikel angelegten Lieferanten angezeigt, und neue
    können hinzu gefügt werden. DS dieses UFo = "TblLieferanten".
    - das zweite UFo beruht nun auf der Abfrage "qErfassungBewegungen" (n:m, s.o.).
    Hier kannst du nun deine Zu- und Abgänge erfassen. Das Mengenfeld wird "Nach
    Aktualisierung" der Vorgangsart entweder gesperrt wenn der Bestand = 0 bzw. wird
    die Bestandsmenge als Vorgabe eingetragen. Ob Letzteres sinnvoll ist, musst du selber
    entscheiden, - kannst du im nun übersichtlichen Code sehr leicht finden und eliminieren.
    Die Prüfung auf die Eingabe einer höheren Stückzahl als der Bestand zulässt, wird
    "Vor Aktualisierung" des Mengenfeldes durchgeführt.
    Wie du siehst kommt das Ganze mit einem Minimum an VBA-Code zurecht.
    Beim Aufhübschen kommt da zwar wieder etwas dazu, davon hast du aber ja das
    Meiste schon.

    gruss ekkehard
     
    Beaker s.a., 15. Dezember 2020
    #49
  5. Hallo ekkehard, nachdem ich mir deine Bsp.DB angeschaut habe muss ich fragen:
    Wenn ich die Art.Verwaltung starte und beim 1. angezeigten Artikel (hier H-Mich) welcher derzeit einen Bestand von 0 hat, eine Neueingabe EINGANG machen möchte, kommt die Msg Box "Es sind nur noch 0 verfügbar.
    Einen EINGANG buchen wird unterbunden.
    Neue Artikel anlegen mit neuem Lieferanten etc. muss ich dann noch einbauen. (hast du ja erwähnt)

    Bei meinem Modell wusste ich immer sofort von welchem Lieferant der Artikel stammt. Wenn ich den Artikel bei verschiedenen Lieferanten gekauft hatte, konnte ich gezielt auswählen, ohne vorher wirklich zu wissen wo er kauft wurde.
    Das wurde mir sofort bei der Artikelwahl angezeigt, bzw. gelistet.

    Hier ist das Modell etwas anders.
    Im neuen Modell muss immer zwingend zuerst der Lieferant, dann den Artikel gewählt werden, erst kann man Eingaben tätigen.
    Im rechten Ufo sieht man zwar alle Ein/Ausgänge, links wenn vorh. die Lieferanten, allerdings kann man nicht erkennen welche Eingangsbuchung zu welchem Lieferanten gehört. Das ist aber auch unwichtig.
    Codes sind sehr überschaubar.
    Jetzt werde ich mal versuchen das auf meine Bedarfe zu ergänzen.

    Nur, mit der Erfassung, neuer EINGANG.- warum das unterbunden wird muss ich noch finden.
    PS: was deinen ersten Satz betrifft.- musste ich etwas lächeln, weil:
    Deine Idee ist jetzt dazu die xte?? Ich weiß es nicht mehr.
    Fazit: Viele Wege führen nach...../oder auch in die Irre.
    Vom Prinzip her ist deine Idee schon sehr gut.
     
  6. Hallo,
    Sorry, aber auf die Schnelle können schon mal Fehler/Nachlässigkeiten vorkommen.
    Habe ich ergänzt.
    Ja, sorry, das war nicht so clever. Anbei deshalb eine andere, vielleicht bessere Variante
    des DM. Hier habe ich jetzt die Bewegungen so zu sagen als n:m zwischen Artikel und
    Lieferanten eingerichtet, und die Zuordnung zum Lieferanten geschieht beim Erfassen
    der Bewegung; - neues Kombi. Da siehst du jetzt auch direkt den Lieferanten. Beim
    Verbrauch bleibt das Feld einfach leer.

    gruss ekkehard
     
    Beaker s.a., 15. Dezember 2020
    #51
  7. \@ekkehard
    Merci. Noch ne neue Variante.....auch nicht schlecht.-
    Zum Handling:
    Starte das FrmArtikelVerwaltung (welches als Bezeichnung Artikelbewegungen heisst).-kann ich ja ändern.-.
    Wähle im Kopf des HF das Kombi Artikelauswahl, ist jedoch leer. (falscher Weg)
    Wähle im Kopf 1. Lieferantenwahl, dann Artikelauswahl. Will ich Verbrauch buchen ist das Kombi Vorgangsart um UFO abgeblendet.
    Klicke ich es trotzdem an, steht der Cursor im Nachbarkombi Lieferant. Das ignoriere ich aber, setze den Cursor zurück in das Feld
    Vorgangsart, wähle Verbrauch und buche.
    Verwende ich die TAB zum ausfüllen der Felder, springt der Cursor am Ende zurück ins Feld Vorgangsart.
    Gespeichert wird erst wenn den DS verlasse und nach unten springe zum nächsten leeren DS.

    Wenn ich zwischen den DS weiterschalte (blättern von Artikel zu Artikel) bleibt im Kopf des HF alles unberührt. Da steht dann etwas ganz anderes als im UFO.

    Was die Abfragen betrifft, verwirrt mich das Verwenden der ALIASE sehr. Ich weiß nie so richtig wie die zustande kommen weil die Tabellen ganz anders benannt sind. Das erschwert es mir sehr die Zuordnungen zu erkennen, so nenne ich es mal.

    Ich gebe auch zu bedenken das ich die hier spezifizierten Beispiele anschliessend in meine bereits vorhandene, nicht gerade kleine, Haupt DB irgendwie integrieren muss. Wenn dann ein kpl. anderes Datenmodell die Grundlage ist, macht es mir das nicht einfacher.
    Denn, so einfach mal alles übereinander legen geht schon wegen der Beziehungen und der Fremdschlüssel nicht.

    Auf alle Fälle ist mir jetzt sehr bewusst das man vieles auf differenten Wegen lösen kann. damit meine ich jetzt speziell ACC.

    Ich warte jetzt mal ab was Elmar austüftelt. Vielleicht kann ich mir ja dort dann auch noch etwas abschauen.
    Momentan verbringe ich eh schon viel zu viel Zeit mit diesem "neuen Hobby". Aber es Spass Dinge zu lernen und dann zu testen.
    OT.
    Ohne Quatsch, bei mir ist es oft so, das ich etwas 4-5 Mal angehen muss bevor ich erkennen kann was ich falsch mache.
    Dazu ist ACC viel zu komplex. Nun, es beruhigt mich jedoch zu wissen, das sich auf "meinem" Spezialgebiet" nun wirklich nur sehr wenig Spezialisten auskennen/auskannten. Jedenfalls zu meiner akt. Schaffenszeit. Jedem das Seine.*Smilie
     
  8. Gültigkeit

    Hallo Prof.,
    Ich wollte damit die Auswahl erleichtern. Öffne die DS-Herkunft des Artikel-
    Kombis und entferne die Bedingung bei "LieferantenID_F". Die Funktionalität
    des Lieferanten-Kombis muss dann aber codiert werden (Änderung der DS-
    Herkunft).
    Hat den Grund, dass man eine Buchung in diesem Feld nicht mehr ändern darf.
    Kannst du aber auch wieder "abschalten" -> Form_Current.
    Da es keine Prüfung auf Inkonsistenz gibt (gehört in Form_BeforeUpdate)
    habe ich das so eingestellt. Zum Ändern setze die Eigenschaft "Zyklus" des
    Forms auf "Alle Datensätze".
    Kann ich nicht nachvollziehen, funzt bei mir einwandfrei.
    Daran gewöhnst du dich ganz schnell. Abfragen sind so, vor Allem wenn
    unformatiert, besser zu lesen. Ausserdem steht der ganze Tabellenname
    doch immer direkt davor
    Code:
    das ist ein Blick.
    Na ja, ich habe das bearbeitet, was ich vorgefunden habe. Ich würde auch
    eher den Weg anders herumgehen. Wenn du mit dem letzten DM soweit
    zufrieden bist, würde ich vorhandene Daten eher hierher importieren. Denn
    das ist dann ja das Modell mit dem weitergearbeitet wird.

    gruss ekkehard
     
    Beaker s.a., 16. Dezember 2020
    #53
  9. Hallo,
    Falsch! *frown.gif*
    Ersetze die DS-Herkunft des Artikel-Kombis durch diese Abfrage
    Code:
    gruss ekkehard
     
    Beaker s.a., 16. Dezember 2020
    #54
  10. Das meinte ich. (Screen/zip)



    Das Selekt Code hab ich eingesetzt. Jetzt kann ich auch Artikel direkt anwählen.

    Mit dem importieren, muss ich testen.
    Bisher lief das immer aus dem Ruder, weil die Fremdschlüssel fehlten oder falsch waren.
    Wie das genau gemacht werden muss, werde ich wohl mit einigen wenigen DS vorab versuchen.
    Bisher habe ich so etwas immer über Export n. Excel und wieder zurück gemacht.
    Dabei kann man aber viele Fehler machen. (ich jedenfalls)
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  11. \@Hallo ekkehard
    Habe Versuche unternommen die Struktur (von dir) in eine von meinen DB zu übernehmen.
    Es scheitert immer noch dieses mögliche Minus buchen.
    Alle Feldnamen, Frm & Qry Namen sowie Codes hab ich 1 zu 1 eingesetzt und geprüft.
    Was überhaupt nicht rund läuft ist diese Abfrage mit den Aliasen.
    Damit kommt meine DB nicht klar. Habe dann versucht die Abfrage zu ändern, mit den orig.Tabellennamen, aber das scheitert auch wegen der "Inkrement" Fixierungen.
    Wäre es möglich das du die ALIASE durch die echten Tabellennamen ersetzt?
    Dann könnte ich einen neuen Versuch starten.
     
  12. Hat soweit geklappt. Teste jetzt ausgiebig. *Smilie
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  13. Gültigkeit

    Edit: Tests negativ. Bedingt durch durch die Änderung des Datenmodells
    stimmen die Beziehungen / Bezüge usw. nicht mehr.
    Meine alten Abfragen beziehen sich oft auf die TblBestand.
    Die gibts aber nicht mehr. Durch die neuen Tabellen ALIASE wird das noch schwieriger für mich durchzublicken.

    Das eine simple Sache wie Minusbuchungen so einen Ärger und Aufwand beinhalten, das ist mir zu aufwendig.
    Ich gebe das Vorhaben hiermit auf und schliesse den Beitrag.

    Dank an alle.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
Thema:

Gültigkeit

Die Seite wird geladen...
  1. Gültigkeit - Similar Threads - Gültigkeit

  2. index ausserhalb des gültige Bereichs

    in Microsoft Excel Hilfe
    index ausserhalb des gültige Bereichs: Option Explicit Dim summe As Integer Dim k As Integer Dim i, z As Integer Dim zahl As Integer Dim arr(1 To 2, 1 To 3) As integer Private Sub CommandButton1_Click() For k = 1 To 3 arr(k, 1) = 0...
  3. Sonderzeichen für Gültigen Dateinamen elemeniren

    in Microsoft Excel Hilfe
    Sonderzeichen für Gültigen Dateinamen elemeniren: Hallo miteinander, in Spalte C stehen bei mir Namen mit Projekt nummern, blöderweise können Projektnummern Sonderzeichen enthalten wirklich alles,es gibt keine Richtlinie dafür leider. ich...
  4. Laufzeitfehler '9' Index außerhalb des gültigen Bereichs

    in Microsoft Excel Hilfe
    Laufzeitfehler '9' Index außerhalb des gültigen Bereichs: Ich habe ein Makro aufgezeichnet und es läuft auch so wie es soll. Das Problem ist nur dass ich das Makro in einer Arbeitsmappe aufgezeichnet habe die sich XXX.csv nennt. Das darin befindliche...
  5. Index außerhalb des gültigen Bereichs

    in Microsoft Excel Hilfe
    Index außerhalb des gültigen Bereichs: Morgen, habe eine Masterdatei (VBE_Erz KTRM_58_59_12_13) und eine Importdatei (export1). Wenn ich die Masterdatei öffne und per Button die Importdatei importieren will, zeigt es mir immer den...
  6. Laufzeitfehler: Index außerhalb des gültigen Bereichs

    in Microsoft Excel Hilfe
    Laufzeitfehler: Index außerhalb des gültigen Bereichs: Hallo zusammen, Ich befülle einen array über einen Range: Dim oneRecord_arr() As Variant oneRecord_arr = Range("sheet1!A1:F1").Value 348328
  7. Index außerhalb des gültigen Bereichs im Formular

    in Microsoft Access Hilfe
    Index außerhalb des gültigen Bereichs im Formular: Hallo an alle, ich komme leider nicht weiter hab jetzt in meiner DB die Fehlermeldung Index außerhalb des gültigen Bereichs. Diese Fehlermeldung bekomme ich wenn ich ein Formular erstellen möchte...
  8. Index außerhalb des gültigen Bereichs

    in Microsoft Access Hilfe
    Index außerhalb des gültigen Bereichs: Hi, ich möchte nachdem Export von Access zu Excel, die Zellen nach dem Wort "TestWort_" durchsuchen. Dieses Wort soll dan gelöscht werden und alles andere übrig bleiben. z.B.: "TestWort_12345" ->...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden