Autor Beitrag
colaka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: So 04.07.10 19:41 
Hallo,

mein Problem ist offensichtlich so primitiv, daß ich wohl der Einzige bin, der es hat. Jedenfalls habe ich über die Suche nichts finden können.

In meiner Warenwirtschaft werden über ein AutoInc-Feld die Rechnungsnummern automatisch vergeben. Wenn das Programm neu installiert wird, erhält die 1. Rechnung also automatisch die Rechnungsnummer 1. Ich möchte aber, daß der Benutzer die Nummer für die erste Rechnung beliebig einstellen kann, also z.B. 1000 oder 5623. Von da an soll das Programm dann weiter hochzählen.

Wie kann ich denn das erreichen?

Danke Ebi
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: So 04.07.10 19:48 
ähm, von 1000 hochzählen kannst du mit Schleifen, z.B so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
for i := 1000 to 5000 do
begin
 tuWas;
end;

// oder

i := 1000;
repeat
 inc(i);
until I = 5000;

// oder

i := 1000;
while I < 5000 do
 inc(i);


war das deine Frage?

_________________
Die Lösung ist nicht siebzehn.


Zuletzt bearbeitet von Mitmischer 1703 am So 04.07.10 21:54, insgesamt 1-mal bearbeitet
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 04.07.10 19:59 
Hi :)

Es geht offensichtlich um eine bestimmte Form von Datenbank, die Variable befindet sich in einem AutoInc-Feld und soll nun ein einziges Mal von Hand zugewiesen werden.

Um welche Datenbank-Lösung handelt es sich denn? :lupe: Hast du einmal versucht, dem Feld - genau, wie du es sonst machen würdest - über seinen Namen einen Wert zuzuweisen?

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
colaka Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: So 04.07.10 20:26 
Hallo,

sorry, da habe ich mich wohl nicht ganz verständlich ausgedrückt. Das Hochzählen ist nicht mein Problem, das macht ein AutoInc-Feld doch von alleine. Mein Problem ist, daß nach einer Neuinstallation des Programmes in der Rechnungstabelle die Nummer für die 1. Rechnung nicht 1 sein soll, sondern daß sie auf einen beliebigen Wert eingestellt werden kann.

Danke Ebi
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 04.07.10 20:39 
Hi,

Hab' dich schon so verstanden - um welche Datenbank handelt es sich denn? :)

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
colaka Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: So 04.07.10 20:46 
Hallo,

es handelt sich um eine Paradoxtabelle.
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: So 04.07.10 21:22 
was spricht denn dagegen den unterschied zu speichern und dann dazu zu addieren?
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: So 04.07.10 21:45 
user profile iconFinnO hat folgendes geschrieben Zum zitierten Posting springen:
was spricht denn dagegen den unterschied zu speichern und dann dazu zu addieren?


Weil es ein Autoinc - Feld ist.

Beim Anlegen der Tabelle sollte dann doch eigentlich der Initialwert bei x liegen, von dem Stand aus wird dann später weiter automatisch erhöht.

Edit:

2004 wurde schonmal drüber nachgedacht.
forum.delphi-treff.d...4che-Autoinc-Problem

lmgtfy.com/?q=parado...toinc+initialisieren <- soll nur Spass sein, habe ich neulich bekommen, daher will ich es auch mal weitergeben :)
Critter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 328
Erhaltene Danke: 3

Windows 7
Delphi 7 Pro.
BeitragVerfasst: Mo 05.07.10 11:27 
Hi,

wenn ich mich richtig an meine alten Paradox Tage erinnere (mit dem grausigen Ding würde ich nicht mehr arbeiten wollen, schon gar nicht im Zusammenhang mit der BDE) musste man dabei Trixen. Der Trick ist, das Feld erst in einen Integer zu konvertieren, den gewünschten Wert einsetzen und dann wieder zurück zu konvertieren. Wenn mich die Erinnerung nicht täuscht ist der nächste Autoinc Wert dann Max + 1.

Was du suchst sollte also:

ausblenden SQL-Anweisung
1:
ALTER TABLE TblName ALTER COLUMN ColName integer					


lauten und später das gleiche noch mal mit AutoInc anstelle von Integer.

critter

_________________
Diejenigen, die grundlegende Freiheiten aufgeben, um ein wenig mehr vorrübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit.
(Benjamin Franklin;"The Papers of Benjamin Franklin", Vol. 6, Apr. 1, 1755, through Sep. 30, 1756)