Record einlesen und ausgeben

Hallo

  1. Ich will bei einer Accesdatenbank, der letzte Eintrag in Spalte 3 einer Access Tabelle Einlesen und einem Parameter imVBA Code zuweisen wie geht das? Hast Du ein Funktionierendes Codebeispiel?

  2. Möchte ich einen neuen Wert mittels VBA Code in eine Accesstabelle in die Dritte Zeile einfügen.

  3. Möchte ich den lezten Bestehenden Eintrag in der Access Tabelle, welcher in der 3. Zeile steht, mittels VBA Code verändern.

Wer kann mir Helfen?
Bitte um funktionierende Codebeispiele.

Besten Dank für deine Bemühungen

Gruss Sebastian

Hallo

  1. Ich will bei einer Accesdatenbank, der letzte Eintrag in
    Spalte 3 einer Access Tabelle Einlesen und einem Parameter
    imVBA Code zuweisen wie geht das? Hast Du ein Funktionierendes
    Codebeispiel?

Schau dir hierzu mal in der Onlinehilfe DLookup an.
geht zwar auch über ein Recordset, halte ich dafür aber für etwas übertrieben…
Frage ist dann, was ist das für ein Parameter und wofür wird der benötigt?

  1. Möchte ich einen neuen Wert mittels VBA Code in eine
    Accesstabelle in die Dritte Zeile einfügen.

mir ist nicht ganz klar, ob du nun einen vorhandenen Datensatz verändern oder zwischen dem zweiten und dritten einen neuen einfügen bzw. nach dem zweiten (es gibt bisher nicht mehr!) einen neuen anhängen möchtest… einfügen zwischen zwei vorhandenen geht nicht!

  1. Möchte ich den lezten Bestehenden Eintrag in der Access
    Tabelle, welcher in der 3. Zeile steht, mittels VBA Code
    verändern.

Generell solltest du mal von deinem Zeilen/Spalten/Excel-Denken abrücken. (macht die Sache etwas einfacher…) Access-Tabellen bestehen zwar optisch auch aus Zeilen und Spalten, werden aber als Datensätze und Felder behandelt. Man muss hier also jeweils einen Datensatz bearbeiten, um darin ein Feld-Wert zu verändern.
Und um gezielt einen Datensatz zu bearbeiten, ist es von Vorteil, wenn man seinen Primärschlüssel-Wert kennt. Die Zeilennummer hilft leider nicht weiter…

du hast jedoch mehrere Möglichkeiten um einen Datensatz zu bearbeiten.
Dabei kommt es im Einzelfall immer darauf an, was genau damit bezweckt wird.
a) SQL (bzw. hier Aktualisierungsabfragen, die du auch mittels Assistent erstellen kannst.)
relativ kurze Anweisungen, um ein SQL-Statement auszuführen. Geht in VBA in der Regel mit einem Einzeiler…

b) Recordsets
Sind etwas aufwändiger und benötigen ggfs. noch Verweise (z.B. DAO3.x)
brauchen auch etwas mehr VBA-Code…

Wer kann mir Helfen?
Bitte um funktionierende Codebeispiele.

Mit etwas mehr Infos über deine Tabellenstruktur sollte ein funktionierender Code durchaus für Copy&amp:stuck_out_tongue_winking_eye:aste vorbereitet werden können.

Besten Dank für deine Bemühungen

Gruss Sebastian

Cu, Jan

Mahlzeit,

  1. …der letzte Eintrag…
  2. …in die Dritte Zeile…
  3. …3. Zeile steht…

Wer kann mir Helfen?

Keiner.

Jan hat zwar einiges beleuchtet, aber auf die grundlegende Frage geht er nur in einem Nebensatz ein: in einer relationalen Datenbank gibt es keine erste, zweite oder dritte Zeile, sondern einfach nur Einträge, die über bestimmte Merkmale identifizierbar sind.

Wenn deine Tabelle einen Primary Key hat, dann ist es einfach, einen Datensatz zu verändern oder zu löschen (einfügen „an dritter Stelle“ wird generell unmöglich sein).

Gruß

Sancho

Besten Dank für die schnellen Infos Jan.
Ich versuche mich noch besser zu outen.

Also ich habe eine Accestabelle mit einem Primärschlüssel.
Danach folgt ein Feld mit dem Datum, dann ein Feld mit der Woche, gefolgt von einem Feld, welches einen neuen Primären schlüssel festlegt (ist als Zahl definiert und wird als Primärschlüssel in einer anderen Tabelle benötigt!), welcher jede Woche wieder neu beginnt.
Das ganze benötige ich für eine Kunden und Auftragsdatenbank. Jeder Kunde hat eine Kundennummer (Prämärschlüssel). Macht er eine Bestellung, so soll die Auftragsnummer im Format jjww+Zähler definiert sein.
Der Zähler wird jede woche neu genullt.
Ich möchte nun das Feld Auftragsnummer des zweitletzten Datensatzes einlesen, um die neue Endnummer der Auftragsnummer zu bestimmen, damit ich die überprüfte Auftragnummer in den neuen Datensatz einfügen kann.

Danke für weitere anregungen.

Sebastian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich möchte nun das Feld Auftragsnummer des zweitletzten
Datensatzes einlesen, um die neue Endnummer der Auftragsnummer
zu bestimmen, damit ich die überprüfte Auftragnummer in den
neuen Datensatz einfügen kann.

Danke für weitere anregungen.

Sebastian

in dem Fall sollte es ausreichen, wenn du mit DMax und ein paar Parametern den letzten vergebenen Wert für diesen Kunden in der aktuellen Woche ermittelst…

x=DMax("[Auftragsnummernfeld]",„DeineTabelle“,"[Kundennummer]= „& DeineKundennummerausFormular? & " AND [Woche]=“ & DeineWocheausFormular)

damit solltest du dann in der Var. x den letzten und höchsten Wert stehen haben. Sollte x den Wert NULL haben, ist noch kein Wert in der Tab enthalten.
Den gefundenen Wert braucht man nun nur noch um 1 erhöhen bzw. auf 1 setzen…

Danke für den Tip, werde ich mal ausprobieren.
Gruss Sebastian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]