powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
10 сообщений из 10, страница 1 из 1
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32388037
ИгорьК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С помощью формы в Access 97 заносились данные химанализов. Подскажите, пожалуйста, как начать заносить теже данные, но в базу за 2004 год, т.е. начать с записи под №1?
Игорь.
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32388069
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один кандидат в форум "для телепятов".
Предлагаю такой вариант: завести новую таблицу под старым именем
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32388071
sashaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я когда то сделал так для 2002аксеса
Сейчас сразу и не объясню.
Private Sub Кнопка29_Click() 'Добавить запись
On Error GoTo Err_Кнопка29_Click
'Dim MyYear, My1, My2 As Variant
Dim My1I, My2I As Integer
Dim db As Database
'Dim rs As Recordset
Dim str As String
Dim strI As Integer
Dim lngRecordCount As Long
Dim strSQL As String
DoCmd.GoToRecord , , acNewRec

'Строковая переменная SQL-выражения
'date22 = date
My1I = CInt(Year(date))
'Формируем строку SQL
If My1I = 2002 Then
strSQL = "SELECT (ndoc) FROM Workdocs where( CInt(Year(date2))=2002 )"
End If
If My1I = 2003 Then
strSQL = "SELECT (ndoc) FROM Workdocs where( CInt(Year(date2))=2003 )"
End If
If My1I = 2004 Then
strSQL = "SELECT (ndoc) FROM Workdocs where( CInt(Year(date2))=2004 )"
End If
If My1I = 2005 Then
strSQL = "SELECT (ndoc) FROM Workdocs where( CInt(Year(date2))=2005 )"
End If
If My1I = 2006 Then
strSQL = "SELECT (ndoc) FROM Workdocs where( CInt(Year(date2))=2006 )"
End If
Set db = CurrentDb()
'Открывем набор записей на основе строки SQL
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
'str = ""
If rs.RecordCount <> 0 Then
rs.MoveFirst
strI = 0
Do Until rs.EOF
If rs![ndoc] > strI Then
strI = rs![ndoc]
End If
rs.MoveNext
Loop
ndoc = strI + 1
lngRecordCount = rs.RecordCount
str = str & vbCrLf & "Всего найдено записей: " & _
lngRecordCount
Else
ndoc = 1
str = "Таблица ""Workdocs"" не содержит записей."
End If
rs.Close
db.Close

' DoCmd.GoToRecord , , acNewRec
' ndoc = DMax("ndoc", "[Workdocs]", [ndoc] = Me!ndoc) + 1
Exit_Кнопка29_Click:
Exit Sub
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32388094
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторIf My1I = 2002 Then
strSQL = "SELECT (ndoc) FROM Workdocs where( CInt(Year(date2))=2002 )"

Во-первых, для множественного выбора есть Select Case

Во-вторых, вместо всего этого достаточно написать

Код: plaintext
strSQL =  "SELECT (ndoc) FROM Workdocs where CInt(Year(date2))= "  & My1I
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32388973
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такой простой способ погодичного нумератора:

1 поле счетчик
2 поле - числовое поле поправка
его ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ изменяют ежегодно
2002 = 0
2003 = -323
2004 = -789


текущий номер по году вычисляется Счетчик - поправка
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32389755
SiriusB_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
написать на событие BeforeUpdate

If Me.NewRecord Then
[НКЛНомер] = Nz(DMax("[НКЛНомер]", "ТБ3Нкл", "Year([НКЛДтаРеє]) = Year(Forms!ФБ3Накл2!НКЛДтаРеє))) + 1
End If

только подставьте Ваши поля и Ваше имя таблички


Нумерация будет независимой и продолжаться и начинаться для каждого года отдельно
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32389776
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SiriusB\r
Не очень хороший совет. При многопользовательской работе могут появляться дубли номеров. В этом случае можно так.
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32389898
SiriusB_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
For Geo

У меня это работает многие годы в сетях с десятками компов, и никаких повторов.

Вот Dlast дает повторы после фрагментации БД а Dmax никогда
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32389906
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FAQ - /topic/42244
...
Рейтинг: 0 / 0
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
    #32389909
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SiriusB
Если более-менее одновременно в медленной сети два пользователя создадут записи по твоему сбособу, повторы станут более чем вероятны. Между BeforeUpdate и cобственно update проходит какое-то время.

ЗЫ.
Я поправил твой пост. Надоело уже, кстати.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]