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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RS.Append, Аргументы имеют неверный тип, 
V
    Опции темы
FallFan
Дата 10.6.2010, 17:28 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток!

В программе создаю Recordset и назначаю ему поля:

Код

Dim hfDP_RS As ADODB.Recordset

Set hfDP_RS = New ADODB.Recordset
      hfDP_RS.Fields.Append "Клиент",  adVarWChar '*
      hfDP_RS.Fields.Append "Банк", adCurrency
      hfDP_RS.Fields.Append "Касса", adCurrency
      hfDP_RS.Fields.Append "Дата", adCurrency

      hfDP_RS.Open
      hfDP_RS.AddNew



На строке, отмеченной '*, появляется ошибка:

Run-time error '3001':

Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.

Подскажите, пожалуйста, прочему невозможно создать поле с таким типом данных (хотя, если поменять adVarWChar на тот же adCurrency ошибку VB не вызывает) ?

Спасибо!
PM   Вверх
Akina
Дата 10.6.2010, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Думаю, что из-за проблем совместимости. Например, маппинг adVarWChar на MS SQL типы однозначно даст ошибку - нет соответствия...


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

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


Шустрый
*


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

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



Понял свою ошибку, не указал базу данных. 

Оборащаюсь к Access(2003) *.mdb

Код

ConnectProviderString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Main.mdb"


...а как в Access называется тип данных ТЕКСТ, в смысле что выбирать в формате при добавлении поля ?

Это сообщение отредактировал(а) FallFan - 10.6.2010, 20:14
PM   Вверх
Akina
Дата 10.6.2010, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А кто сказал, что в Аксессе есть совместимый тип? тут с типами ещё скуднее, чем в MS SQL...


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

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


Шустрый
*


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

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



Неужели настолько скудно, что нельзя добавить поле с типом данных ТЕКСТ в Recordset, который отлично, забирает данные из Access?

P.S.
   Или я совсем ничего не понимаю.
PM   Вверх
Akina
Дата 10.6.2010, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Текст - пожалуйста. Но не Unicode Null-Terminated Variable-Length String.


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

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


Шустрый
*


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

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



Понимаю, что ответ не вовремя. Но лучше поздно, чем никогда. Нашел на каком-то форуме такой список, может кому-нибудь поможет:

VarType Code Description
'adBigInt 20 Indicates an eight-byte signed integer (DBTYPE_I8).
'adBinary 128 Indicates a binary value (DBTYPE_BYTES).
'adBoolean 11 Indicates a boolean value (DBTYPE_BOOL).
'adBSTR 8 Indicates a null-terminated character string (Unicode) (DBTYPE_BSTR).
'adChapter 136 Indicates a four-byte chapter value that identifies rows in a child rowset (DBTYPE_HCHAPTER).
'adChar 129 Indicates a string value (DBTYPE_STR).
'adCurrency 6 Indicates a currency value (DBTYPE_CY). Currency is a fixed-point number with four digits to the right of the decimal point. It is stored in an eight-byte signed integer scaled by 10,000.
'adDate 7 Indicates a date value (DBTYPE_DATE). A date is stored as a double, the whole part of which is the number of days since December 30, 1899, and the fractional part of which is the fraction of a day.
'adDBDate 133 Indicates a date value (yyyymmdd) (DBTYPE_DBDATE).
'adDBTime 134 Indicates a time value (hhmmss) (DBTYPE_DBTIME).
'adDBTimeStamp 135 Indicates a date/time stamp (yyyymmddhhmmss plus a fraction in billionths) (DBTYPE_DBTIMESTAMP).
'adDecimal 14 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_DECIMAL).
'adDouble 5 Indicates a double-precision floating-point value (DBTYPE_R8).
'adEmpty 0 Specifies no value (DBTYPE_EMPTY).
'adError 10 Indicates a 32-bit error code (DBTYPE_ERROR).
'adFileTime 64 Indicates a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 http://www.vbnet.ru/forum/show.aspx?id=124115

(DBTYPE_FILETIME).
'adGUID 72 Indicates a globally unique identifier (GUID) (DBTYPE_GUID).
'adIDispatch 9 Indicates a pointer to an IDispatch interface on a COM object (DBTYPE_IDISPATCH).
'Note - This data type is currently not supported by ADO. Usage may cause unpredictable results.
'adInteger 3 Indicates a four-byte signed integer (DBTYPE_I4).
'adIUnknown 13 Indicates a pointer to an IUnknown interface on a COM object (DBTYPE_IUNKNOWN).
'adLongVarBinary 205 Indicates a long binary value (Parameter object only).
'adLongVarChar 201 Indicates a long string value (Parameter object only).
'adLongVarWChar 203 Indicates a long null-terminated Unicode string value (Parameter object only).
'adNumeric 131 Indicates an exact numeric value with a fixed precision and scale (DBTYPE_NUMERIC).
'adPropVariant 138 Indicates an Automation PROPVARIANT (DBTYPE_PROP_VARIANT).
'adSingle 4 Indicates a single-precision floating-point value (DBTYPE_R4).
'adSmallInt 2 Indicates a two-byte signed integer (DBTYPE_I2).
'adTinyInt 16 Indicates a one-byte signed integer (DBTYPE_I1).
'adUnsignedBigInt 21 Indicates an eight-byte unsigned integer (DBTYPE_UI8).
'adUnsignedInt 19 Indicates a four-byte unsigned integer (DBTYPE_UI4).
'adUnsignedSmallInt 18 Indicates a two-byte unsigned integer (DBTYPE_UI2).
'adUnsignedTinyInt 17 Indicates a one-byte unsigned integer (DBTYPE_UI1).
'adUserDefined 132 Indicates a user-defined variable (DBTYPE_UDT).
'adVarChar 204 Indicates a binary value (Parameter object only).
'adVariant 200 Indicates a string value (Parameter object only).
'adVarNumeric 12 Indicates an Automation Variant (DBTYPE_VARIANT).
'adVarWChar 139 Indicates a numeric value (Parameter object only).
'adWChar 202 Indicates a null-terminated Unicode character string (Parameter object only).
'adVarBinary 130 Indicates a null-terminated Unicode character string (DBTYPE_WSTR).
PM   Вверх
Akina
Дата 31.8.2010, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Давайте ссылку на первоисточник, а не на какие-то неопределённые "форумы".
http://msdn.microsoft.com/en-us/library/ms675318(VS.85).aspx


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

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


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

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


 




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


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

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