Neuigkeiten:

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

Mobiles Hauptmenü

Position automatisieren

Begonnen von Youssef, Juni 02, 2015, 11:35:46

⏪ vorheriges - nächstes ⏩

Youssef

Hallo,
ich brauche bitte wieder Hilfe hier.
ich habe eine Access-Anwendung programmiert die auf ein extern Werkzeugdatenbankprogramm  zugreift und damit Datensätze editiert bzw. einfügt.
Ich habe die Postionen 1 bis ...n immer selber in meine Anwendung eingegeben für den nächsten eingefügten Datensatz.
Möchte nun das nicht mehr machen und zwar Automatisieren lassen das heißt, wenn die Position 1 belegt ist ,soll dann auf die nächste Position  gehen und  den Datensatz speichern.

Kann mir bitte jemanden helfen?

Lg
Youssef

Wurliwurm

Ohne zu wissen, wie Du auf das externe Werkzeugdatenprogramm zugreifst und was die Positionen 1...n bedeuten, wird Dir keiner weiterhelfen können.

Youssef

Die Daten von dem Werkzeugprogramm sind mit OBDC in Access verknüpft

Youssef

das Werkzeugdatenbankprogramm heißt TDM , sobald ich in access Daten eingebe erscheint in TDM ein Datensatz, aber ich muß immer einen  Index(Reihenfolge) eingeben:
Bsp. das sieht so aus in TDM :
Index     ToolID      Material
1             123            HM
2             131            HM
3             101           VHM

dieser Index will ich Programmiert haben und zwar für den neuen Datensatz den alten +1 weiter hoch zählen.

Index ist Bestandteil einer Tabelle mit den Feldern Index,ToolID, Material...

Danke
Lg
Youssef

DF6GL

Hallo,


eine quick&dirty-Möglichkeit:

Schreib in die Eigenschaft "Standardwert" für das Formular-Textfeld, das den "Index" anzeigt:

= DMax("[Index]";"tblDeineTabelle")+1

Youssef


Youssef

Hallo ,
ich habe den Ausdruck in SQL Server unter Index mal probiert, sobald ich speichern durchführe smeißt mich ") +1 raus und bleibt nur =DMax("[Index]";"meineTabelle
gibts eine andere Möglichkeit?


Youssef

ich kann in der Tabelle in Access nichts ändern , da ist die Tabelle schreib geschützt ist.

MaggieMay

#9
Hi,

der vorgeschlagene Ausdruck wird als Steuerelementinhalt *) eines Textfeldes im Formular eingetragen - nicht anders wurde das auch beschrieben.

*) bzw. Standardwert
Freundliche Grüße
MaggieMay

Youssef


:-[
Ich kapiere das einfach nicht !!! kannst du mir bitte schritt für schritt das klären

DF6GL

#11
Hallo,



ZitatSchreib in die Eigenschaft "Standardwert" für das Formular-Textfeld, das den "Index" anzeigt:

= DMax("[Index]";"tblDeineTabelle")+1


Was genau "kapierst" Du denn daran nicht?

tblDeineTabelle   muss natürlich durch den richtigen Namen Deiner Tabelle ersetzt werden.


Du beschreibst allerdings die Situation der DB ziemlich vage...

Und Du wirst hoffentlich nicht(!!!) direkt die odbc-verknüpften Tabellen in der Tabellenansicht(!) editieren wollen...

Benutz dazu IMMER ein Formular!

Youssef

Hallo,
ich habe nochmal versucht gehts nicht leider.
und die Funktion DMax gibts net sondern DomMax.
Hier ist mein Code :
=DomMax("[cboTOOLTECHNOPOS]";"TMS_TDM_TOOLTECHNO")+1
LG
Youssef

MzKlMu

Hallo,
DomMax und DMax ist das gleiche DomMax ist nur eingedeutscht.

Du muss in der Funktion einen Feldnamen der Tabelle verwenden.
Ganz allgemein:
=DomMax("FeldNameInDerTabelle";"TabellenName")+1
Gruß Klaus

Youssef

Hallo,
ich habe die Formel korigiert  es funktioniert einiger maßen.
das Problem ist nun, dass die position immer  hoch gezählt wird für alle IDs , ich will damit sagen , dass es gut wäre wenn  es geprüft bei jeden einzelnen ID-Nummer.
LG
Youssef