Office: (Office 2010) Gültigkeit

Helfe beim Thema Gültigkeit in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Experten, ich könnte euch nochmal um eure Hilfe bitten. Habe jetzt ne Weile über div. Möglichkeiten dazu gelesen aber nichts brauchbares... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Prof.Adv, 5. Dezember 2020.

  1. Gültigkeit


    Hallo Experten,
    ich könnte euch nochmal um eure Hilfe bitten.
    Habe jetzt ne Weile über div. Möglichkeiten dazu gelesen aber nichts brauchbares gefunden.
    In einem HF/+UFO erfasse ich Produkte, schön getrennt nach Eingang/Ausgang.
    Die akt. Summe des Produkts steht im Kopf des HF in einem Textfeld mit der Formel

    PHP:
             =summe([aktMenge])
    :)
     
    Prof.Adv, 5. Dezember 2020
    #1
  2. Sinnvollerweise sollte der Bestand nicht auf NULL stehen sondern auf 0.
    Das sind schon verschiedene Dinge, die Du berücksichtigen solltest, wenn Du mit einer Datenbank arbeitest.
    NULL : das Feld ist leer, es ist kein Wert sondern ein Zustand.
    0 ist ein Wert, mit dem Du rechnen oder vergleichen kannst.

    Ins Formular eintragen ist ja das eine ... vor dem Speichern muss es geprüft werden.
    Dazu gibt es die Ereignisprozedur "vor Aktualisierung" des Formulars.
    Oder die Ereignisprozedur "nach Aktualisierung" des Felds, wo der Ausgang erfasst wird.
     
    hcscherzer, 7. Dezember 2020
    #2
  3. Ja ja. Ich meinte natürlich 0 und nicht Null.
    Natürlich steht da eine 0 und nicht null. Dumm ausgedrückt ich weiß.
    Da es dazu etwas geben wird, ist mir schon klar, auch das es sich dabei
    wohl um einen Code handeln wird oder muss.
    Ereignisprozedur .- ja sicher.
    Nur WIE, das wäre die Frage. Wie gesagt.-ich bin kein VBA Guru
     
    Prof.Adv, 7. Dezember 2020
    #3
  4. Gültigkeit

    Hallo Prof.
    Das Current-Ereignis (Beim Anzeigen) sollte das richtige Ereignis zur Prüfung sein.
    Da kannst du dann das Feld "an-/abschalten".
    (Luftcode):
    Code:
    (Tabelle kann auch Abfrage sein)

    gruss ekkehard
     
    Beaker s.a., 7. Dezember 2020
    #4
  5. Es wird mal wieder spannend, Dir zu helfen.
    Welchen Namen hat das Textfeld?
    nächste Frage: wo befindet sich das Feld "Ausgang"? im HF oder im Unterformular?
    Um das erfassen der Entnahme von einer Packung H-Milch im Feld "Ausgang" zu unterbinden, wenn oben im Kopfbereich des HF die Zahl 0 angezeigt wird müssen - wie schon richtig vermutet - die beteiligten Felder auf deren Inhalte mittels VBA-Code abgefragt werden.

    Die Syntax für den Bezug auf ein Steuerelement im Ufo lautet:
    Forms![Hauptformular]![UFoSteuerelement_im_Hauptformular].Form![Steuerelement_im_Ufo]
    Um nun langwierige Frage- und Antwortstunden zu vermeiden würde ich Dir empfehlen, an einem Beispiel zu lernen, wie man das umsetzt.
    Die Grundlage des Beispiels musst Du allerdings selbst liefern:
    Erstelle eine neue, leere Datenbankdatei.
    Öffne die neue Datenbank und importiere aus Deiner Datenbank
    1. die Tabellen (nur Struktur, ohne Daten)
    2. die Abfragen
    3. die Formulare
    welche an Deinem Problemfall beteiligt sind.
    Gebe nun einige Datensätze (frei erfunden) ein.
    Über das ACCESS-Menu "Datenbank-Tools" die Datenbank komprimieren und reparieren.
    Danach Datenbank schließen und die Datenbankdatei zippen und hier ins Forum mit einer kurzen Textnachricht hochladen.
     
  6. Hallo Elmar,
    Das Textfeld mit der Summe braucht es doch dafür gar nicht. Die Summe
    lässt sich, wie gezeigt, auch per Aggregatfunktion ermitteln.
    Da sich das Feld "Ausgang" im UFo befindet muss man natürlich dessen
    Ereignis verwenden (hatte ich vergessen dabei zu schreiben). Da müsste
    es dann aber auch eher der FK (ArtikelID_F) sein mit dem gefiltert wird.

    gruss ekkehard
     
    Beaker s.a., 7. Dezember 2020
    #6
  7. Das ist mir *Smilie klar, aber ich wollte unserem Prof. doch nur eine Anleitung geben um die Vorzüge von VBA bei der Lösung der Problematik zu erkennen. Vielleicht schaffen wir es ja, ihm die Scheu vor VBA zu nehmen, auch ich habe mal so angefangen und Aggregatfunktionen erst später kennen und einsetzen gelernt.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  8. Gültigkeit

    Klar. In ein Textfeld muss erst etwas eingetragen sein, um den Inhalt prüfen zu können. Access beherrscht noch keine vorwegnehmende Gedankenübernahme.

    Nach Aktualisierung des Textfeldes könnte man den Inhalt gleich mit dem Bestand vergleichen und darauf reagieren:
    Code:
    So etwas dürfte jetzt nicht eine solche Herausforderung sein, dass man da eine mehrtägige Expertenrunde einberufen muss.

    Etwas Richtiges passiert aber erst mit dem Versuch, dann den ganzen Datensatz zu speichern, weil erst dann würde durch Speicherung in die Tabelle ein Negativbestand aktenkundig. Auch dort, also im Form_BeforeUpdate, könnte man eine solche Prüfung vornehmen.

    Für etwas Technik rundherum: Rückfrage vor dem Speichern
    So etwas kann man auch sinngemäß "abschreiben", also da seine eigene Prüfung einbauen.

    Nebenbei darf man alle Tipps von Karl Donaubauer auswendig lernen oder zumindest diese Website als ständig verwendetes Nachschlagewerk verwenden, da hier schon sehr viele typische und häufig anzutreffende Aufgaben besprochen werden.

    Nebenbei darf man fragen: Wenn schon der aktuelle Bestand zum Produkt im Formular steht, warum wird er vom Eingeber nicht wahrgenommen und inhaltlich berücksichtigt? Zu klein, zu unauffällig?
    Wenn keiner wirklich hinschaut, warum schleppt man den mit? Wie auch schon gezeigt, kann man sich aus der Tabelle diesen auch holen, wenn er zur Eingabeprüfung benötigt wird.

    Also mal wieder: Vor den schnellen und "schlimmen" Codes erst einmal über Situation und nötige Abläufe nachdenken, ehe man losaktioniert.
     
  9. Hallo,
    @Ekkehard
    Habe mal versucht den Code mit meinen Feld u. Abfrage Namen einzusetzen. Ergebnis =Katastrophe*mad.gif* . Ich wusste es.
    Daran scheitere ich sehr oft.

    @Elmar (mit mir ist immer spannend, ich weiß*cool.gif* )
    Das mit der Tabelle neutralisieren wird ne abendfüllende Aktion. Der Aufwand für einen einzigen Code?*boah

    Mein Vorschlag, ich nenne mal die exakten Bezeichnungen der Felder mit Relevanz und dann versuche ich es selber umzusetzen.
    Also:
    Frm ist ein HF plus Ufo.
    Im HF Kopf wähle ich den Artikel (das Produkt) mittels Kombifeld aus. Das wird dann im Ufo angezeigt, mit allen Bewegungen. Soweit bin ich schon.*rolleyes.gif*
    Im Ufo Kopf ist ein Textfeld mit der Additionsformel für den Bestand. Das Feld heisst "Bestand". (ich weiss, txt.bestand wär besser)
    Im Ufo sind 4 Felder : Kombifeld Vorgangsart: Textfeld Datum: Textfeld Menge: Textfeld Bezeichnung
    Die Datenquelle des Ufo ist QryUfoBestand.
    Was fehlt noch?
    Ich glaube nichts, oder?.--

    Klar, ich befürchte natürlich das ich mir mit der unsachgemäßen Platzierung von Codes die mühsam erstellte DB zerstöre.
    Deshalb probiere ich sowas nie am Original.
    Wenn ihr mir helfen könnt, war schön, wenn nicht, bleibt es so. Ist ja nur zum lernen und eh Luxus.
     
    Prof.Adv, 7. Dezember 2020
    #9
  10. \@Eberhard
    Ach wär ich doch noch mal jung....ber du hast absolut Recht.
    Dieser 0 Bestand steht ja schon da. AUGEN auf!
    Deshalb sagte ich ja, mein Ansinnen ist Luxus und eher zum lernen.
    Dom Karl ist eine meiner am meisten besuchten !!
    Tolle Lektüre. Allerdings für mich vieles wie ROM. Weit weit weg.
    Ihr Experten dürft auch nicht immer annehmen das alte Leute das können was ihr mit links macht.
    Aber ich schaue zu euch auf, das ist so.
     
    Prof.Adv, 7. Dezember 2020
    #10
  11. Ich bin gegen Altersdiskriminierung, und Du würdest Dich wundern, mit welchem Alter hier so einige Experten daherkommen.
    Es ist also anmaßend und falsch, wenn Du stellvertretend für alle Alten sprechen wolltest.

    Sowie: Es gibt das kalendarische Alter, das biologische Alter und das wahre Alter bei Personen. Ich kenne eine Menge kalendarisch Junge, die deutlich träger im Kopf sind als fortgeschrittene Silberfüchse. Viele Fragende hier sind laut eigener Bezeichnung Studenten, also junge Leute mit Hochschulreife und höheren Zielen für ihr Leben. Nicht so selten treten aber auch solche als wirkliche intellektuelle Enttäuschungen auf ...
    Also Wahrheiten nur von Zahlen abzuleiten kann recht realitätsfern sein.
     
  12. Meine Antwort dazu kann nur sein:
    Ich würde mich ja somit selbst diskriminieren oder? Für Andere kann ich nicht sprechen, das wäre nicht mein Stil.
    Der Satz spiegelt nur meine Erfahrung wider, wenn ich also einige meiner Altersgenossen beobachte.
    Von denen ist keiner annähernd in der Lage einen PC zu bedienen, von dem was ich so alles mache sind die Welten entfernt. Leute die ich nicht kenne würde ich nie beurteilen wollen.
    Okay soweit.
    Was mir allerdings auffällt, das du in anderen Foren ebenfalls hin und wieder Streitgespräche auslöst. Aber-.. deine Sache.

    O.T.
    Ich, für mein Teil bin sehr zufrieden und froh über die Unterstützung die ich hier bekomme und schon oft bekommen habe.
    Was allerdings in vielen Foren der Fall ist, es melden sich Teilnehmer wortreich ohne nur im Ansatz etwas zum Thema beizutragen, z.B. durch Verweise auf bereits behandelte Fragen oder einfach den Hinweis mal möge doch die MS Hilfe bemühen oder Grundkenntnisse erwerben, was immer das auch bedeuten kann. Damit wird doch auch jemand diskriminiert oder nicht?
    Nun, ein Forum im Netz kann nie so effektiv sein wie ein echtes Forum, bei dem man sich in die Augen schauen kann. Weil im Netz oft der Respekt voreinander auf der Strecke bleibt.

    Zum Thema zurück, da meine DB noch mehr Macken hat, wie ich feststelle, lege ich das mal auf Eis.
    Ich kann das, weil VBA hier stark mitspielt, nicht alleine lösen.
    Dafür kann ich nur um Verständnis bitten.
    Es kann auch so bleiben.- egal.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Prof.Adv, 7. Dezember 2020
    #12
  13. Gültigkeit

    Hallo Elmar
    Da es mich sehr beschäftigt....meine Versuche

    PHP:
             =Wenn([Formulare]![FrmArtikelErfassungNeu]![cboArtikelwahl].[Form]![txtBestand]=0;"nein";"ja")
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Prof.Adv, 8. Dezember 2020
    #13
  14. Hallo Eberhard,
    Warum so spät? Mal abgesehen von der Wahrnehmungsfähigkeit des Anwenders,
    macht es doch Sinn das Feld schon prophylaktisch zu sperren. Da muss ich ihn
    auch im Nachhinein nicht mit einer Meldung konfrontieren "Och, schade, deine
    Eingabe war umsonst, - der Artikel ist z.Zt. gar nicht verfügbar."
    Ausserdem ist für den TS als VBA-Novize deutlich mehr Code (MsgBox, Cancel,
    Undo).
    Nach dem hier
    wäre Form_Current natürlich zu früh, und ich würde meine Codezeile ins AfterUpdate
    dieses Kombis verschieben, mit Einschränkung auf ausgehende Vorgänge.

    gruss ekkehard
     
    Beaker s.a., 8. Dezember 2020
    #14
  15. Dieser "Code" hat nichts mit VBA zu tun. Ich wiederhole nochmal mein Hilfsangebot aus #5
     
Thema:

Gültigkeit

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

  2. Speicherung von Makros gültig für alle Word-Dateien

    in Microsoft Word Hilfe
    Speicherung von Makros gültig für alle Word-Dateien: Guten Tag, in früheren Office Versionen habe ich die .dot-Datei in„C:\Programme\Microsoft Office\Office\Startup\“ abgelegt. Damit war das Makro automatisch in allen neu aufgerufen Dokumenten...
  3. 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...
  4. 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...
  5. 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...
  6. 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...
  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