![]() |
![]() |
![]()
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! |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 10:47 |