Mai 25, 2022, 11:34:12

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Access verändert Werte meiner Tabellen

Begonnen von dobby110, Juli 17, 2019, 11:37:42

⏪ vorheriges - nächstes ⏩

dobby110

Hallo zusammen,
ich habe ein kurioses Problem.
Und zwar scheint Access eigenständig Werte in meiner Tabelle zu ändern. Im Speziellen betrifft es ein Kontrollkästchen über das ich bestimmte IDs Aktiv oder Inaktiv schalten kann.
Es passiert in letzter Zeit immer häufiger, dass dieses Häkchen (=aktiv) für manche IDs einfach raus genommen wird, ohne das ich dabei aktiv werde.
Hat jemand eine Idee oder eine Vermutung wie so etwas passieren kann?
Habe momentan keine Erklärung und auch kein Ansatz, wo ich anfangen soll zu suchen.

DF6GL

Hallo,


"eigenständig" macht Access das nicht, es sei denn, es wurde angewiesen, z. B. per Code (oder Makro) oder auch Tabellentrigger.

Zitat...ein Kontrollkästchen über das ich bestimmte IDs Aktiv oder Inaktiv schalten kann.


Was heißt das genau?

dobby110

genau das ist ja das kuriose an der Sache.
Ich habe nichts programmiert, was darauf Einfluss nehmen könnte.

Ich habe Fonds und ich habe Investments. Diese jeweils in einer eigenen Tabelle.
Die Investments verknüpfe ich in einer dritten Tabelle mit den Fonds. Dadurch bekommt jede Verknüpfung   eine eigene ID (kann ja sein, dass ein Investment in mehreren Fonds ist).
Und in der Tabelle wo ich die verknüpfe oder kombiniere, habe ich die Kontrollkästchen für Aktiv oder Inaktiv.
Kann ja sein, dass ein Investment fällig wird. Dann stelle ich es inaktiv. Allerdings mache ich das manuell.
Nur macht sich hier Access scheinbar selbstständig und ich habe keinerlei Erklärung dafür.


Milvus

Mal ins Blaue:
Es besteht die Möglichkeit, dass Access dir hier was vorgaukelt.

Die Ansichten von Abfragen können bei Wahrheitswerten komisch aussehen, z.B. wenn ein Datensatz gar nicht da ist bei einem Outher Join.

Vielleicht so was?

Bei Extratabelle:
Handelt es sich um eine M:N Beziehung?


ebs17

ZitatNur macht sich hier Access scheinbar selbstständig

Sehr sehr unwahrscheinlich.
Entweder Du hast einen Wahrnehmungsfehler, oder Du hast etwas angestellt und ein Dritter möchte Dich "unterstützen".
Mit freundlichem Glück Auf!

Eberhard

Xenon

Guten Morgen,

leider ist bei mir ein ähliches Problem. Bei mir wird ein Feld mit einem ganz anderen Wert aus einem anderen Feld überschrieben. Akteull sind es immer nur die obersten Datensätze.

Ich hatte auch die Idee, das ein Makro diese überschreiben lässt, doch ist keins davon in der Lage. Alle Makros sollen nur Datensätze suchen.

Für einen besseren Überblick.

Vielen Dank für eure Hilfe.

MfG Xenon

MzKlMu

März 25, 2022, 09:23:20 #7 Letzte Bearbeitung: März 25, 2022, 10:08:34 von MzKlMu
Hallo,
Access handelt da ganz sicher nicht selbstständig.
Zitat von: undefinedAlle Makros sollen nur Datensätze suchen.
Wenn Felder zum Suchen aus Versehen gebunden sind, werden durch die Makros/VBA Code Daten überschrieben.
Hast du wirklich Makros, oder doch VBA Codes?
Gruß
Klaus

Beaker s.a.

@Xenon
Mit sowas kannst du arbeiten? - Respekt.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

Xenon

Hallo zusammen,

habe folgende Suchmuster verwendet.

1. Bsp.:
Private Sub Text94_AfterUpdate()
If Me!Text94 = "" Then

    Me.Text94 = ""
    Me.Text94.SetFocus
    Exit Sub
    End If
  Me.FilterOn = False
    Me.Nachname.SetFocus
    DoCmd.FindRecord Me.Text94
End Sub


2. Bsp.:
SuchennachDatesatz
Bedingung: ="[PK_Seriennummer] = " & "'" & [Screen].[ActiveControl] & "'"


Gibt es dort etwa Unterschiede?

Beaker s.a. Danke. Ist ja nicht nur für mich, die Datenbank.

MfG Xenon

DF6GL

Hallo,

was machst Du da eigentlich?





ZitatGibt es dort etwa Unterschiede?


zwischen was?


Der ganze Code ist unsinnig und berührt auch das anfängliche Problem in keiner Weise.


Wenn nach "Nachname" gesucht werden soll, dann etwa so:



Private Sub txtSuchfeld_AfterUpdate()
    If IsNull (Me!txtSuchfeld) Then
      Me!txtSuchfeld.SetFocus
      Exit Sub
    End If

    Me.Filter = "[Nachname] = '" & Me!txtSuchfeld & "'" 'ganzen Feldinhalt vergleichen
    Me.FilterOn = True

End Sub





Beaker s.a.

Hallo,
ZitatIst ja nicht nur für mich, die Datenbank.
D.h. andere blicken durch dieses Wirrwarr besser, um nicht zu sagen
"überhaupt", durch?
Ohne die zu Grunde liegende Realität zu kennen, würde ich trotzdem
vermuten, dass das Datenmodell noch einiges an Optimierungspotenzial
bereit hält.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

Xenon

Hallo zusammen,

vielen lieben Dank für euren schnellen Antworten. Hierzu möchte ich mich kurz erklären.

GF6GL:
Ich habe leider in Datenbanken nicht so viel Erfahrung mit der tieferen Programierung. Hier war meine Frage, "Was ist der Unterschied zwischen Code-Generator und dem Makro-Generator?" Hier habe ich zwei unerschiedliche Suchen-Methoden. Sicher liegt es daran.

Beaker s.a.:
Sicher hast du vermutlich Recht. Da ich hier leider kaum bis keine Hilfe, bei mir auf Arbeit, bekomme ist es schwer etwas zu keieren, was so umfangreich ist. Die DB soll die alte Form von Excel ablösen, da es hier zu vielen "bekannten" Fehlern (Doppelung oder Referentielle Daten) kommt.
Aktuell sollen 13 bekante Excel-Tabellen abgelöst werden. Da es aktuell keine SW-Lösung laut Suche-Paramether gibt, die alles abdeckt. Nun wurde entschieden, das es mit Hilfe einer DB abgelöst werden soll.

So stehe gerne für weitere Fragen offen.

MfG Xenon

DF6GL

Hallo,

um wen geht es hier noch im Threat?   Xenon oder Dobby110?

@Xenon:


Ekkehard meint wohl (und ich auch) , dass das Wollknäuel   (Beziehungs-Wirrwarr) im Beziehungsfenster für einen Durchblick nicht geeignet ist.


Ordne also die einzelnen Tabellen in senkrechten Spalten im Beziehungsfenster so, dass die 1-Tabellen immer in der links benachbarten Spalte von der jeweiligen n-Tabellen-Spalte zu stehen kommen.



ZitatWas ist der Unterschied zwischen Code-Generator und dem Makro-Generator?


Es gibt keinen Code-Generator... Den Code muss man selber schreiben, mit ein bisschen Unterstützung durch den VBA_Editor (bzw. VBE, Visual Basic Environment). Dort gibt es Prozeduren (SUB, Function, etc.) , die aus VBA-Codezeilen bestehen.

Mit dem Makro-Generator, der die Rolle als Access-internes Hilfmittel spielt, können als Alternative zum VBE  auch Abläufe gesteuert werden.  Diese Makros sind allerdings "verpönt", weil sie sowohl Access-spezifisch, relativ undurchsichtig und nicht "debugbar" sind als auch nicht wie VBA in andere Office-Programme übernommen werden können.  Man kann Makros als übergeordnete "Kommandos" zu VBA-Prozeduren verstehen, die selber auch durch Konvertierung in VBA-Code umgesetzt werden könn(t)en.


Mir ist noch (wieder) unklar, um welches Problem, bzw. Frage es hier geht.