|
|
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
С помощью формы в Access 97 заносились данные химанализов. Подскажите, пожалуйста, как начать заносить теже данные, но в базу за 2004 год, т.е. начать с записи под №1? Игорь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 16:08 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
Еще один кандидат в форум "для телепятов". Предлагаю такой вариант: завести новую таблицу под старым именем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 16:26 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
Я когда то сделал так для 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 16:26 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
авторIf My1I = 2002 Then strSQL = "SELECT (ndoc) FROM Workdocs where( CInt(Year(date2))=2002 )" Во-первых, для множественного выбора есть Select Case Во-вторых, вместо всего этого достаточно написать Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2004, 16:40 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
есть такой простой способ погодичного нумератора: 1 поле счетчик 2 поле - числовое поле поправка его ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ изменяют ежегодно 2002 = 0 2003 = -323 2004 = -789 текущий номер по году вычисляется Счетчик - поправка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 13:12 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
написать на событие BeforeUpdate If Me.NewRecord Then [НКЛНомер] = Nz(DMax("[НКЛНомер]", "ТБ3Нкл", "Year([НКЛДтаРеє]) = Year(Forms!ФБ3Накл2!НКЛДтаРеє))) + 1 End If только подставьте Ваши поля и Ваше имя таблички Нумерация будет независимой и продолжаться и начинаться для каждого года отдельно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 19:51 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
2SiriusB\r Не очень хороший совет. При многопользовательской работе могут появляться дубли номеров. В этом случае можно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2004, 20:10 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
For Geo У меня это работает многие годы в сетях с десятками компов, и никаких повторов. Вот Dlast дает повторы после фрагментации БД а Dmax никогда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2004, 01:00 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
FAQ - /topic/42244 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2004, 01:25 |
|
||
|
Закончился год. Как продолжить записи в базе Access 97 с №1 2004г.
|
|||
|---|---|---|---|
|
#18+
2SiriusB Если более-менее одновременно в медленной сети два пользователя создадут записи по твоему сбособу, повторы станут более чем вероятны. Между BeforeUpdate и cобственно update проходит какое-то время. ЗЫ. Я поправил твой пост. Надоело уже, кстати. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2004, 01:54 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1689&tid=1676991]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 381ms |

| 0 / 0 |
