TKSoft-Online

Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

Verwenden freier Werte in einem Zähler
(1 Leser) (1) Gast
Alles rund um MS-Access
  • Seite:
  • 1

THEMA: Verwenden freier Werte in einem Zähler

Verwenden freier Werte in einem Zähler 4 Jahre her #118

  • s68
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 3
  • Karma: 0
Wahrscheinlich ist das eine ziemlich dumme Frage ...
Ich finde für folgendes Problem keine Lösung:

Ich habe eine ziemlich umfangreiche Datenbank, bei der ein Zähler schon bald die 100.000 erreicht, owohl es nur halb so viele Datensätze sind. Ich würde nun gerne zuerst die freien Werte vergeben.

Gibt es da eine einfache Lösung? Geht das auch im Standardwert der Tabelle oder muss die Funktion in allen Formularen aufgerufen werden?

Bin dankbar für jede Hilfe!

Re:Verwenden freier Werte in einem Zähler 4 Jahre her #119

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Moin,

also ist der Zähler ein Autowert?
Dann geht das definitiv nicht.

Grundsätzlich muss man aber sagen das solche Werte eine interne Funktion haben
und nicht zur Schönheit beitragen.
Meistens sind diese Felder Indexfelder die wiederum mit anderen Tabellen verknüpft sind und es herrende Auswirkungen hätte wenn dieser Wert verändert wird.
Um Dir aber einen konkreten Tipp geben zu können müsstest Du o.g. Hinweis prüfen und Dich nochmal melden.
Gruß TommyK

Re:Verwenden freier Werte in einem Zähler 4 Jahre her #121

  • s68
Hallo,

danke für die Rückmeldung.
Neine, das Feld ist kein Autowert mehr. Ich habe die Daten aus einer Access97 Datenbank übernommen. Die bestehenden Werte dürfen natürlich nicht verändert werden. Mir wäre es aber lieber in Zukunft in manchen Fällen nicht mehr mit dem AutoWert zu arbeiten.

Gibt es da eine schlaue Lösung?

Danke für die Hilfe!!!

Re:Verwenden freier Werte in einem Zähler 4 Jahre her #122

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo,

hier wäre die schlaue Lösung (stammt aber nicht von mir)
 
Public Function FnlngGet_NextFreeNr(strField As String, strTable As String, _
Optional strWHERE As String = \"\", _
Optional blnMaximum As Boolean = False, _
Optional lngStartwert As Long = 1) As Long
Dim lngActNr As Long
Dim lngMaxNr As Long
Dim strSQL As String
Dim rs As DAO.Recordset
 
strSQL = \"SELECT \" & strField & \" \" & _
\"FROM \" & strTable & \" \"
If strWHERE \"\" Then strSQL = strSQL & \"WHERE \" & strWHERE & \" \"
strSQL = strSQL & \"ORDER BY \" & strField
Set rs = CurrentDb.OpenRecordset(strSQL)
If rs.BOF And rs.EOF Then
FnlngGet_NextFreeNr = lngStartwert
Else
If blnMaximum Then
rs.MoveLast
FnlngGet_NextFreeNr = rs(0) + 1
Else
lngMaxNr = 0
rs.MoveFirst
lngActNr = 1
Do Until rs.EOF
If lngActNr lngMaxNr Then lngMaxNr = rs(0)
rs.MoveNext
lngActNr = lngActNr + 1
Loop
FnlngGet_NextFreeNr = lngMaxNr + 1
End If
End If
rs.Close
Set rs = Nothing
End Function
 

Aufruf:
 
Dim nNewNumber As Long
nNewNumber = FnlngGet_NextFreeNr(\"DeinZählerfeld\", \"Deine Tabelle\"«»)
 

Damit bekommst Du die nächste freie Nummer.
Gruß TommyK

Re:Verwenden freier Werte in einem Zähler 4 Jahre her #123

  • s68
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 3
  • Karma: 0
Vielen Dank erst mal!

Leider bekomme ich immer den Laufzeitfehler \"Syntaxfehler in Where-Klausel\". Muss ich da noch etwas anpassen?

Kann ich die Funktion nicht im Standardwert des Zählerfeldes in einem Formular aufrufen?

Vielen Dank für die Geduld

Re:Verwenden freier Werte in einem Zähler 4 Jahre her #125

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Moin,

irgendwie verschluckt der Code-Tag des Forums zeichen.
Habe das ganze mal als Bsp-DB angehangen.
Kann ich die Funktion nicht im Standardwert des Zählerfeldes in einem Formular aufrufen?

Ja, das geht. s. Bsp-DB

Dateianhang:

Dateiname: tk_Z_hlerL_cken00.zip
Dateigröße: 15318
Gruß TommyK

Re:Verwenden freier Werte in einem Zähler 4 Jahre her #126

  • s68
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 3
  • Karma: 0
Das ist großartig!

Genau danach habe ich gesucht.

Tausend Dank!
  • Seite:
  • 1
Moderatoren: TommyK
Ladezeit der Seite: 2.04 Sekunden

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173377 Downloads

JoomlaWatch 1.2.11 - Joomla Monitor and Live Stats by Matej Koval