Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Autonumeracja (licznik), zalezna od roku
SamoChwała
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 28.07.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam,

Jak mozna rozwiązć problem autonumeracji (licznika) pola np. ID zaleznego od roku, zachowując ciągłoś numerowania danego rocznika. Baza jest aktualizowana praktycznie na bieżąco, jedna zdarza się wstawiać rekord lub kilka z lat poprzednich. Do tej pory dane były zapisywane w osobnych tabelach, ale zaczyna to być uciążliwe.

Czy zechce mi ktoś pomóc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SamoChwała
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 28.07.2004
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cytat(mhs @ 2004-07-28 11:51:43)
w modelu relacyjnym nie ma znaczenia w jakiej kolejnosci sa poukladane wiersze w tabeli... wg. bledem bylo tworzenie 4 (i pewnie juz nie dlugo wiecej) tabel dla opisu tej samych obiektow czy zdarzen...

Co do spójności danych jak najbardziej masz rację i to nie podlega żadnej dyskusji. W tym odrębnym jednak przypadku ma to znaczenie zasadnicze. Id jest nr kolejnym protokołu pomiarowego i zasady przyjete w zakładzie w którym pracuję są takie jakie są. Każdy protokól ma odrębny nr. Jeśli w 2003 ostatnim nr był 205, to w 2004 pierwszy musi mieć nr 1 a nie 206. W Accessie miałem to rozwiązane tak jak poniżej. Musiałem jednak przenieść całość do INTRANETU (z Accessem w sieci były i są spore kłopoty) php znam zbyt słabo i nie potrafię tej funkcji przetłumaczyć na kod zrozumiały dla php.

Kod
Private Sub tempDataWyst_LostFocus()
Dim sprData As Variant
If IsDate(Me![tempDataWyst]) And [NrPkt] = 0 Then
    sprData = DMax("[DataWyst]", "Protokoly", "Year([DataWyst])=Year(Forms![ProtokolyDodaj]![tempDataWyst])")
    If (Me![tempDataWyst] - sprData > 3) Or (Me![tempDataWyst] - sprData < 0) Or IsNull(sprData) Then
        odp = MsgBox("Czy data jest prawidłowa?", vbOKCancel, "Uwaga")
        If odp <> 1 Then
            Me![tempDataWyst].SetFocus
            Exit Sub
        End If
    End If
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 10:47