Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Вопрос про каунтеры или счётчики  [new]
Alexanderpa
Guest
Помогите, пожалуйста.
Посмотрел на SQL.ru FAQ по каунтерам (автор: Владимир Саныч), сделал в своём запросе как в Q7.
Проблема заключается в том, что данный вариант ориентируется на какое-либо другое поле, то есть проставляет значения от 1 до [кол-во записей], ориентируясь например на ключевое поле.
Если в ключевом поле стоят:
3
56
100
То он проставляет в поле каунтера:
1
2
3
А если 56, 100, 3, то ставит 2,3,1.

У меня в запросе всё отсортировано, а нужно чтобы записи ставились по порядку (от 1 до [кол-во записей]), не обращая внимания на то, что стоит в других полях.

Кто знает, как такое сделать, помогите.
23 окт 05, 16:14    [1995774]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
По порядку - это как? Чем диктуется порядок, если не сортировкой по каким-то полям?
23 окт 05, 18:16    [1995835]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Alexanderpa
Guest
Имеется ввиду, если запись первая, то ставится 1, вторая - 2, третья - 3 и так далее
23 окт 05, 19:15    [1995907]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Еще раз спрашиваю: чем диктуется, что она первая?
23 окт 05, 23:54    [1996307]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Alexanderpa
Guest
Владимир Саныч, не делайте, пожалуйста, вид, что не понимаете меня.
Диктуется номером записи
24 окт 05, 16:36    [1999461]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
MsDatabaseru
Member

Откуда: Hobby.MsDatabase.ru
Сообщений: 10938
физический номер записи в таблице весьма ненадежная величина
если нужен порядок - добавьте поле счетчика и по нему сортируйте
24 окт 05, 16:41    [1999500]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Звереныш
Guest
Alexanderpa
Владимир Саныч, не делайте, пожалуйста, вид, что не понимаете меня.
Диктуется номером записи

Номер конкретной записи для разной сортировки разный. Абсолютного номера у записи нет.
24 окт 05, 16:42    [1999507]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Ort84
Member

Откуда: Украина, Донецк
Сообщений: 569
Типа, по каким полям сортируешь?
24 окт 05, 16:52    [1999576]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Ort84
Member

Откуда: Украина, Донецк
Сообщений: 569
А тебе именно в запросе нужно сделать? Можно в VBA. А если нужно такой запрос сделать источником, то можно создать спец. таблицу, куда записываются строки с сформированным каунтом на VBA.
24 окт 05, 17:02    [1999659]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Alexanderpa
Guest
Есть запрос, в нём всё уже рассортировано как надо.
Нужно проставить в опр. поле значение от 1 до [количество записей]
24 окт 05, 17:44    [1999994]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Alexanderpa
Guest
Помогите кто-нить
24 окт 05, 17:45    [2000009]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
MsDatabaseru
Member

Откуда: Hobby.MsDatabase.ru
Сообщений: 10938
в качестве критерия сортировки использовать order by запроса - единственное условие не должно быть в нем повторов иначе будут повторяться номера

или нумеровать не в запросе а в отчете - если запрос для отчета
24 окт 05, 17:46    [2000019]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Ort84
Member

Откуда: Украина, Донецк
Сообщений: 569
Ort84
А тебе именно в запросе нужно сделать? Можно в VBA. А если нужно такой запрос сделать источником, то можно создать спец. таблицу, куда записываются строки с сформированным каунтом на VBA.


Для чего тебе этот запрос?
24 окт 05, 17:49    [2000051]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
adv
Member

Откуда:
Сообщений: 3333
ку?
24 окт 05, 17:58    [2000108]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Ort84
Member

Откуда: Украина, Донецк
Сообщений: 569
Sub MyCount()
 Dim rst, rstDop, dbs As Object
 Dim str1 As String
 Dim i As Long
 Set dbs = Application.CurrentProject.Connection
 Set rst = CreateObject("ADODB.RecordSet")
 Set rstDop = CreateObject("ADODB.RecordSet")
 str1 = "SELECT Код, Текст FROM Таб1 ORDER BY Текст"
 rst.Open str1, dbs, 1
 str1 = "SELECT Код, №пп,Текст FROM [Таб(Доп)]"
 rstDop.Open str1, dbs, 1, adLockOptimistic
 i = 1
 With rstDop
  Do Until rst.EOF
   .AddNew
   ![№пп] = i
   ![Текст] = rst![Текст]
   .Update
   rst.MoveNext
   i = i + 1
  Loop
 End With
 rst.Close
 rstDop.Close
 Set rst = Nothing
 Set rstDop = Nothing
 Set dbs = Nothing
End Sub

ТабДоп - твоя таблица с отсортированными записями и поставленным номером по порядку.
Код работает - проверил, что непонятно - говори.
24 окт 05, 18:19    [2000219]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Alexanderpa
Есть запрос, в нём всё уже рассортировано как надо.

Так значит есть сортировка!!! Вам было трудно ответить на мой вопрос?
24 окт 05, 19:48    [2000427]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Ort84
Member

Откуда: Украина, Донецк
Сообщений: 569
Владимир Саныч
Alexanderpa
Есть запрос, в нём всё уже рассортировано как надо.

Так значит есть сортировка!!! Вам было трудно ответить на мой вопрос?



С очередной сотней, Саныч - 16800
24 окт 05, 19:51    [2000433]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Alexanderpa
Guest
Ort84
"SELECT Код, №пп,Текст FROM [Таб(Доп)]"


Объясни, пожалуйста, что значят Код, №пп,Текст,Таб(Доп) и Таб1. Заранее спасибо
30 окт 05, 13:43    [2020416]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Alexanderpa
Guest
Или кто-нить другой объясните
30 окт 05, 14:43    [2020463]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Alexanderpa
Guest
Кто-то поможет? :)
31 окт 05, 13:56    [2023089]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
жж
Guest
Если ВС не смог - то только паталогоанатом.
31 окт 05, 14:37    [2023351]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Тяп-ляп
Member

Откуда: Москва
Сообщений: 803
Посмотри, может подойдет
31 окт 05, 14:42    [2023374]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Ort84
Member

Откуда: Украина, Донецк
Сообщений: 569
Alexanderpa
Ort84
"SELECT Код, №пп,Текст FROM [Таб(Доп)]"


Объясни, пожалуйста, что значят Код, №пп,Текст,Таб(Доп) и Таб1. Заранее спасибо


Таб1 - твоя таблица,записи которой ты хочешь отсортировать и добавить к каждой записи №пп;
Код и Текст - просто поля для примера;
Таб(Доп) - окончательный результат отсортированной таблицы Таб1, с добавленным № пп для каждой записи УЖЕ ОТСОРТИРОВАННОЙ таблицы Таб1.

Эта прога - аналог того запроса, который ты хочешь сделать. Минус: нужно создавать дополнительную таблицу (Таб(Доп)).
31 окт 05, 16:23    [2024015]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
gena_20051031
Guest
Alexanderpa
Есть запрос, в нём всё уже рассортировано как надо.
Нужно проставить в опр_поле значение от 1 до [количество записей]

Если ваш запрос редактируемый и содержит опр_поле, то можно так:
Sub EnumerateRecords()
    Dim i As Long, db As DAO.Database, ds As DAO.Recordset
    Set db = CurrentDb()
    Set ds = db.OpenRecordset("запрос", dbOpenDynaset)
    Do While Not ds.EOF
        i = i + 1
        ds.Edit
        ds("опр_поле").Value = i
        ds.Update
        ds.MoveNext
    Loop
End Sub
где "запрос" - либо прямо SQL-текст, либо имя вашего сохраненного запроса.
31 окт 05, 17:02    [2024285]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос про каунтеры или счётчики  [new]
Ort84
Member

Откуда: Украина, Донецк
Сообщений: 569
gena_20051031
Alexanderpa
Есть запрос, в нём всё уже рассортировано как надо.
Нужно проставить в опр_поле значение от 1 до [количество записей]

Если ваш запрос редактируемый и содержит опр_поле, то можно так:
Sub EnumerateRecords()
    Dim i As Long, db As DAO.Database, ds As DAO.Recordset
    Set db = CurrentDb()
    Set ds = db.OpenRecordset("запрос", dbOpenDynaset)
    Do While Not ds.EOF
        i = i + 1
        ds.Edit
        ds("опр_поле").Value = i
        ds.Update
        ds.MoveNext
    Loop
End Sub
где "запрос" - либо прямо SQL-текст, либо имя вашего сохраненного запроса.


Аналог моей, только на DAO...
31 окт 05, 17:24    [2024438]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить