Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переписать номера записей 
:(
    Опции темы
Aleksandra
Дата 24.4.2008, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 1.7.2006

Репутация: нет
Всего: нет



Здравствуйте.

Для того, чтобы переписать номера записей в разделе я сделала такой код и он работает:

Код

c = DCount("NPP", "tblBook", "IDRazd =" & Forms![frmVer]![SubFormVer].[Form]![IDRazd])
       For i = 1 To c
              Me.NPP = i
         Me.Recordset.MoveNext
       Next i


Как записать тот же код через рекордсет, а не через объекты экрана?

Спасибо...

PM   Вверх
Akina
Дата 24.4.2008, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



А точно так же...

Код

set rs = openrecordset ("...")
n=1
with rs
  .movefirst
  do while not .eof 
    !NPP = n
    n=n+1
  loop
.close
end with
set rs = nothing



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Aleksandra
Дата 24.4.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 1.7.2006

Репутация: нет
Всего: нет



Что-то не работает...

Как правильно записать выражение в скобках:
set rs = openrecordset ("...")

??
PM   Вверх
Fortop
Дата 24.4.2008, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



Если я правильно помню, то это SQL запрос должен быть.

Добавлено @ 23:49
неправильно помню smile

MSDN для ADO
Код

recordset.Open Source, ActiveConnection, CursorType, LockType, Options
 
Parameters
Source 
Optional. A Variant that evaluates to a valid Command object, an SQL statement, a table name, a stored procedure call, a URL, or the name of a file or Stream object containing a persistently stored Recordset. 
ActiveConnection 
Optional. Either a Variant that evaluates to a valid Connection object variable name, or a String that contains ConnectionString parameters. 
CursorType 
Optional. A CursorTypeEnum value that determines the type of cursor that the provider should use when opening the Recordset. The default value is adOpenForwardOnly. 
LockType 
Optional. A LockTypeEnum value that determines what type of locking (concurrency) the provider should use when opening the Recordset. The default value is adLockReadOnly. 
Options 
Optional. A Long value that indicates how the provider should evaluate the Source argument if it represents something other than a Command object, or that the Recordset should be restored from a file where it was previously saved. Can be one or more CommandTypeEnum or ExecuteOptionEnum values, which can be combined with a bitwise AND operator. 


MSDN для DAO
Код

   Dim dbsNorthwind As Database
   Dim rstTable As Recordset
   Dim rstDynaset As Recordset
   Dim rstSnapshot As Recordset
   Dim rstForwardOnly As Recordset
   Dim rstLoop As Recordset
   Dim prpLoop As Property

   Set dbsNorthwind = OpenDatabase("Northwind.mdb")

   With dbsNorthwind

      ' Open one of each type of Recordset object.
      Set rstTable = .OpenRecordset("Categories", _
         dbOpenTable)
      Set rstDynaset = .OpenRecordset("Employees", _
         dbOpenDynaset)
      Set rstSnapshot = .OpenRecordset("Shippers", _
         dbOpenSnapshot)
      Set rstForwardOnly = .OpenRecordset _ 
         ("Employees", dbOpenForwardOnly)



Добавлено @ 23:54
ну и то, о чем говорил я.
Цитата


Syntax

expression.OpenRecordset(Name, Type, Options, LockEdit)

expression   A variable that represents a Database object.

Parameters

Name Required String The source of the records for the new Recordset. The source can be a table name, a query name, or an SQL statement (SQL string/statement: An expression that defines an SQL command, such as SELECT, UPDATE, or DELETE, and includes clauses such as WHERE and ORDER BY. SQL strings/statements are typically used in queries and in aggregate functions.) that returns records. For table-type Recordset objects in Microsoft Access database engine databases, the source can only be a table name. 
Type Optional Variant A RecordsetTypeEnum constant that indicates the type of Recordset to open.
  Note 
If you open a Recordset in a Microsoft Access workspace (Access workspace: A workspace that uses the Access database engine to access a data source. The data source can be an Access database file, an ODBC database, such as a Paradox database, or an ISAM database.) and you don't specify a type, OpenRecordset creates a table-type Recordset, if possible. If you specify a linked table (linked table: A table stored in a file outside the open database from which Access can access records. You can add, delete, and edit records in a linked table, but you cannot change its structure.) or query, OpenRecordset creates a dynaset-type Recordset.
 
 
Options Optional Variant A combination of RecordsetOptionEnum constants that specify characteristics of the new Recordset.
  Note 
The constants dbConsistent and dbInconsistent are mutually exclusive, and using both causes an error. Supplying a lockedits argument when options uses the dbReadOnly constant also causes an error. 

 
LockEdit Optional Variant A LockTypeEnum constant that determines the locking for the Recordset.
  Note 
You can use dbReadOnly in either the options argument or the lockedits argument, but not both. If you use it for both arguments, a run-time error occurs. 



Это сообщение отредактировал(а) Fortop - 24.4.2008, 23:55


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Aleksandra
  Дата 25.4.2008, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 1.7.2006

Репутация: нет
Всего: нет



Ну я и писала так:

Код

strSQL = "Select NPP, IDRazd FROM tblBook where IDRazd = " & Me.IDRazd & ""

Set rs = CurrentDb.OpenRecordset(strSQL)
n = 1
With rs
  .MoveFirst
  Do While Not .EOF
    !NPP = n
    n = n + 1
  Loop
.Close
End With
Set rs = Nothing

Возникает ошибка в  !NPP = n
PM   Вверх
Fortop
Дата 25.4.2008, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



Цитата(Aleksandra @  25.4.2008,  00:36 Найти цитируемый пост)
Возникает ошибка в  !NPP = n 

Я уже смутно помню синтаксис VB
Что именно за ошибка? Что пишется?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Aleksandra
Дата 25.4.2008, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 1.7.2006

Репутация: нет
Всего: нет



Run-time error 3020:
Update or CancelUpdate without AddNew or Edit

После нажимаю на кнопку Debug и вижу выделение строки с !NPP = n
PM   Вверх
Akina
Дата 25.4.2008, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Aleksandra @  25.4.2008,  01:36 Найти цитируемый пост)
Возникает ошибка в  !NPP = n 

Перед этой строкой должно быть .Edit, а после соответственно .Update

M
Akina
Aleksandra, когда используете тег "Код", смотрите, какой именно диалект вы выбираете. Использовать подсветку SQL для кода на VBA - неправильно...




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.