|
|
|
| Подскажите, пожалуйста, как присвоить в строках номер по порядку.
Например, есть форма 1000 записей, по фильтру отобрано 200 записей, надо присвоить каждой строке номер, начиная с какого-нибудь (где-то надо указать, например с 2000) как это делается?
спасибо. | |
|
| |
|
|
|
| это видимо надо создать дополнительное поле...
в нём указать данные = 1
и смма с накоплением = Для всего | |
|
| |
|
|
|
| Такая фишка в отчетах есть, а в форме нет! Мне надо именно в форме. | |
|
| |
|
|
|
| нумерация в форме дело не благодарное.
почитайте Вот это
http://hiprog.com/index.php?option=com_content&task=view&id=359&Itemid=35
или решение от MS
создаете
функцию
Function LineNumber(id As Long) As Integer
'id- значение ключевого поля, если поле строка то - id As String
Dim intI As Integer
Dim rst As Object
On Error GoTo Err_LineNumber
Set rst = Me.RecordsetClone
rst.FindFirst "[КодЗаписи] = " & id
' если id строка то
'rst.FindFirst "[КодЗаписи] = '" & id & "'"
Do Until rst.BOF
intI = intI + 1
rst.MovePrevious
Loop
Exit_LineNumber:
LineNumber = intI
Exit Function
Err_LineNumber:
intI = 0
Debug.Print Err.Description
Resume Exit_LineNumber
End Function
|
создаете свободное поле в свойстве данные данного поля пишите:
=LineNumber([КлючевоеПоле])
|
на записях больше 20 будет заметно тормозить | |
|
| |
|
|
|
| В форме создала поле- свободное. в данные -=LineNumber([КлючевоеПоле])
А функцию куда. тоже в форму? куда-то...
пожалуйста, подробнее.
спасибо. | |
|
| |
|
|
|
| Если нужно только в этой форме, то в модуль формы.
если хотите универсальности, то нужно в глобальный модуль и немого подправить (вместо ME текущую форму передавать или определять) | |
|
| |
|
|
|
| нет, у меня не получается!
попробовала по ссылке сделать вроде бы нормально считает, но
начальное значение n, надо менять! (задавать нач. значение)
надо чтобы было поле, куда можно поставить начало счёта, а я не знаю как это сделать!!!
SELECT DISTINCT Numeration(MyField) As Num, MyField FROM MyQuery WHERE Numeration() = 0;
В запросе используется функция Numeration. Вот ее описание:
Public Function Numeration(Optional var) As Long
Static n As Long
If IsMissing(var) Then
n = 0
Else
n = n + 1
End If
Numeration = n
End Function | |
|
| |
|
|
|
| Проверить не могу, попробуйте так:
если начальное значение должно быть 10
SELECT DISTINCT Numeration(MyField) As Num, MyField FROM MyQuery WHERE Numeration() = 10;
Public Function Numeration(Optional var) As Long
Static n As Long
If IsMissing(var) Then
n = 10
Else
n = n + 1
End If
Numeration = n
End Function
|
| |
|
| |