PDA

Vollständige Version anzeigen : vba code zum durchnummerieren


kox
02.10.2001, 08:49
hallo,

dies habe ich zum durchnummerieren der spalte FA-Nr geschrieben:

Function hochwert()

Dim fa As Recordset
Set db = CurrentDb()
Set fa = db.OpenRecordset("Fertigungsauftrag", OpenTable)
Dim maxwert As Long
fa.MoveFirst
maxwert = fa![FA-Nr]
Do Until fa.EOF
If fa![FA-Nr] > maxwert Then
maxwert = fa![FA-Nr]
End If
fa.MoveNext
Loop
hochwert = maxwert
End Function

aber wenn ich die funktion als standardwert in meinem formular reinschreibe, kommt nix. wieso denn?

danke euch leser- und antworterInnen!!

kox

Dirk Skirde
02.10.2001, 10:30
Hi kox,

versuche es einmal mit:

Function hochwert() as long

Gruß Dirk

kox
02.10.2001, 10:34
nee, das hilft leider auch nicht.... bitte schaut nochmal...

kox

Hondo
02.10.2001, 10:55
Hi,
mach mal die Brackets weg.
Wo definierst du dein Database???
hab dir doch gestern ein schema genannt wie man sauber definert.

Dim maxwert As Double '(oder sonst was)
Dim db As Database
dim rs As Recordset

Set db = Currentdb
Set rs = db.openrecordset("Select * From Fertigungsauftrag", dbOpenTable)
rs.movefirst
maxwert = rs!wert
Do until rs.eof
if rs!wert>maxwert then
maxwert = rs!wert
End If
rs.moveNext
loop

Alles klar?
Gruß Andreas

PS: was sollen denn Bezeichnungen wie "fa"?

!!! Übrigens: mit der Funktion numerierst du nichts durch, sondern findest nur den Maxwert. Zum Durchnummerieren habe ich letzte Woche einen Code gepostet. Mußt halt mal die Suche benutzen

kox
02.10.2001, 11:06
@rbbe:

1.wo soll ich die klammern wegmachen?

2.wenn ich die zeile dim db as database reinschreibe, mekcert er beim kompilieren rum, daß der benutzerdefinierte typ nicht definiert ist!?! was fehlt mir denn da noch, denn mehr hast du ja auch nicht in deinem beispiel??

3.zu ps: wenn du mal guckst, habe ich mein recordset fa genannt, deswegen die vielen fa´s.

kox

Hondo
02.10.2001, 11:13
Hi,
Brackets sind eckige Klammern. Wenn du keine in deinem Code siehst, solltest du mal zum Arzt gehen ;-).
Zu 2. diese Zeile ist 1000000000% richtig und funktioniert auf jedenfall mit Ac97 und 2000. Benutze mal ein Buch oder die Acc Hilfe, da steht nämlich das gleiche drin.
Gruß Andreas

Hondo
02.10.2001, 11:22
Also, hab deinen Code eben getestet mit folgendem Ergebnis:
1. Dim db As Datebase muß rein sonst fehler
2. nicht "openTable" sondern "dbopenTable"

dann funzt er
Gruß Andreas

kox
02.10.2001, 11:24
@rbbe

1. ich weiß, was brackets sind, und auch daß welche in meinem code sind, ich wollte wissen, welche ich deiner meinung nach wegmachen soll, weil ich diese [FA-Nr] nicht wegmachen kann, sonst will er FA minus Nr rechnen, aber das ist ja egal.

2. ja. ja! JA! ich weiß, daß es korrekt ist, habe es auch schon mehrfach in der hilfe gefunden, nur wird es bei mir eben nicht angenommen! benutzerdefinierter typ ist nicht definiert. das ist die aussage. ich will doch nicht sagen, daß deins falsch ist, sondern wissen, was bei mir falsch ist, daß er diese zeile nicht annimmt!

kox

Hubi
02.10.2001, 12:01
Hallo kox,

wenn bei dir die deklaration DIM db as.. einen Fehler verursacht dürfte das mit ziemlicher Sicherheit ein Fall von FAQ 7.11 - www.donkarl.com (http://www.donkarl.com) - sein

Gruß Hubert

kox
02.10.2001, 12:26
vielen dank!!!

kox