Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите! Что не так? (RecordCount выдает, что у него только одна запись) / 10 сообщений из 10, страница 1 из 1
13.01.2005, 10:28:05
    #32862562
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
Здесь рисуется произвольная фигура в Excel. Данные по координатам берутся из базы. Проблема в том, что RecordCount почему-то выдает, что у него только одна запись, хотя если делаю выкладку данных просто в таблицу Excel выкладывает все записи. Подскажите что не так.
Excell, Access 2000
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Sub Region()

    ' Открытие базы данных
    Set dbAccess = OpenDatabase("C:\Work\Baza\Map.mdb")
    MySql = "SELECT Koordinat.X, Koordinat.Y" & _
            " FROM Koordinat" & _
            " ORDER BY Koordinat.ID_Koordinat;"
    ' Открытие рекордсета
    Set TestTable = dbAccess.OpenRecordset(MySql)
    ' Вставка рекордсета
    If (TestTable.RecordCount >  0 ) Then
    RecC = TestTable.RecordCount
    With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto,  203 . 25 ,  399 #)
    For i =  0  To RecC
        TestTable.Move (i)
        a = TestTable.Fields( 0 )
        b = TestTable.Fields( 1 )
        .AddNodes msoSegmentCurve, msoEditingAuto, a, b
    Next i
        .ConvertToShape.Select
    End With
    Else: MsgBox "Not Found"
    End If
    ' Закрытие рекордсета
    TestTable.Close
    ' Закрытие базы данных
    dbAccess.Close

End Sub
...
Рейтинг: 0 / 0
13.01.2005, 10:34:39
    #32862581
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
recordcount выдаст полное колво записей
только после выполнения команды
myRecordset.movelast

делай так
или используй ненумерованный цикл :

Код: plaintext
1.
2.
3.
4.
5.
myRecordset.movelast
myRecordset.movefirst
Do while not myRecordset.eof
...операции...
myRecordset.movenext
loop
...
Рейтинг: 0 / 0
13.01.2005, 10:40:42
    #32862603
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
>Подскажите что не так
ХЗ, никогда не пользовался методом Move
Когда надо обойти все записи рекордсета, то делаю так
While not rst.eof
'Что-то ужасное
rst.movenext
wend
...
Рейтинг: 0 / 0
13.01.2005, 10:43:12
    #32862614
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
все работает огромное спасибо
а в чем была проблема?
чтобы на будущее знать.
...
Рейтинг: 0 / 0
13.01.2005, 10:44:52
    #32862620
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
NikPвсе работает огромное спасибо
а в чем была проблема?
чтобы на будущее знать.

recordcount выдаст полное колво записей
только после выполнения команды movelast


p.s. While..Wend - устаревшая конструкция, используйте более гибкий Do..Loop
...
Рейтинг: 0 / 0
13.01.2005, 10:45:29
    #32862623
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
>recordcount выдаст полное колво записей
только после выполнения команды
myRecordset.movelast

>а в чем была проблема?

Прикол
...
Рейтинг: 0 / 0
13.01.2005, 10:56:26
    #32862650
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
Shark>а в чем была проблема?

Прикол
я имел ввиду почему когда я просто выкладываю рекордсет в таблицу RecordCount дает полное количество строк, а в данном случае не выдал?
просьба на Фы1 не отсылать. Для меня самое главное, что работает код
...
Рейтинг: 0 / 0
13.01.2005, 11:00:47
    #32862665
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
>Просьба не отсылать
Recordcount может показывать количество записей без movelast. Может не показывать. Это зависит от конкретного набора записей. Поэтому на это закладыватся не стоит, и всегда перед recordcount делать movelast. Точнее
If not (.eof and .bof) Then .movelast
тк иначе на пустом наборе будет ошибка.
От чего конкретно это зависит- ХЗ
...
Рейтинг: 0 / 0
13.01.2005, 11:08:03
    #32862686
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
2Shark
Спасибо на будущее запомню
...
Рейтинг: 0 / 0
13.01.2005, 11:20:28
    #32862722
Проценко
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите! Что не так? (RecordCount выдает, что у него только одна запись)
Shark>Просьба не отсылать
Recordcount может показывать количество записей без movelast. Может не показывать. Это зависит от конкретного набора записей. Поэтому на это закладыватся не стоит, и всегда перед recordcount делать movelast. Точнее
If not (.eof and .bof) Then .movelast
тк иначе на пустом наборе будет ошибка.
От чего конкретно это зависит- ХЗ

При наличии записей Recordcount имеет ненулевое значение, я использую конструкцию If .Recordcount<>0 Then .movelast
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите! Что не так? (RecordCount выдает, что у него только одна запись) / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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