Ошибка при добавлении записи с помощью ADO

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ZOD
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 24.03.2004 (Ср) 19:54
Откуда: Barnaul

Ошибка при добавлении записи с помощью ADO

Сообщение ZOD » 14.08.2007 (Вт) 8:01

Передаю значения в excel так как написано тут http://support.microsoft.com/kb/247412

Создал два именованых диапазона Info (R2C3) и MyTable (R8C1:R8C7)

В Инфо добавляется только один элемент, при добавлении следующего (всего надо 3) выдается ошибка "не удается дополнить именованный диапазон". В MyTable все добавляется без ошибок. Подскажите, пожалуйста, в чем косяк.

Код: Выделить всё
Dim conn As New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=1.xls;Extended Properties=""Excel 8.0;HDR=No"";"

conn.Execute "Insert into Info values ('" & User.DateNow & "')"
conn.Execute "Insert into Info values ('" & User.Firm & "')"    ' в этом месте выдает ошибку
conn.Execute "Insert into Info values ('" & User.City & "')"

'дальше работает нормально
conn.Execute "Insert into MyTable " & _
   " values ('1', '234', 'текст', '500,00', '2', '1000,00','wow!')"
   
conn.Execute "Insert into MyTable " & _
   " values ('1', '234', 'текст', '500,00', '2', '1000,00','wow!')"
   
conn.Close

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 14.08.2007 (Вт) 9:02

Возможно надо указать название поля.
Код: Выделить всё
conn.Execute "Insert into Info (fielname) values ('" & User.Firm & "')"
Или дописать значения по умолчанию для всех полей.
Лучший способ понять что-то самому — объяснить это другому.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.08.2007 (Вт) 9:12

Кроме того, в User.Firm наверняка есть кавычки.
Lasciate ogni speranza, voi ch'entrate.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 14.08.2007 (Вт) 10:12

Кавычки не должны влиять, если они не апострофы.
Лучший способ понять что-то самому — объяснить это другому.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.08.2007 (Вт) 10:27

Я имел ввиду одинарные кавычки.
Lasciate ogni speranza, voi ch'entrate.

ZOD
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 24.03.2004 (Ср) 19:54
Откуда: Barnaul

Сообщение ZOD » 14.08.2007 (Вт) 10:45

Antonariy
Properties=""Excel 8.0;HDR=No""
навания звголовка указывать не обязательно, кроме того, еще и нечего - ячейка пустая.

alibek
кавычек нет

burik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 03.11.2005 (Чт) 22:04
Откуда: Беларусь, Рогачев

Сообщение burik » 14.08.2007 (Вт) 12:34

Ну раз первая запись добавляется, то дело, вероятно, в User.Firm.
Между слухов, сказок, мифов,
просто лжи, легенд сомнений
мы враждуем жарче скифов
за несходство заблуждений
Игорь Губерман

ZOD
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 24.03.2004 (Ср) 19:54
Откуда: Barnaul

Сообщение ZOD » 15.08.2007 (Ср) 6:05

burik
Нет. Если переставить их местами, то добавляется запись с User.Firm, а на второй все равно вылетает ошибка.

Данные я разместил не в столбик, а в строку, поэтому добавляется только 1 запись и ошибка не появляется, но все же хотелось бы узнать в чем проблема. Так, на будущее.
Возможно, проблема связана со вторым диапазоном, который находится на 5 строк ниже.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.08.2007 (Ср) 7:40

Попробуй в конце строки ставить точку с запятой.
Но тогда это больше похоже на глюки.
Lasciate ogni speranza, voi ch'entrate.

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 15.08.2007 (Ср) 8:34

вероятно проблема в том, что у вас диапозон начигнается не с 1 колонки

попробуйте диапозон "Info" определить как R2C1
I Have Nine Lives You Have One Only
THINK!

ZOD
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 24.03.2004 (Ср) 19:54
Откуда: Barnaul

Сообщение ZOD » 15.08.2007 (Ср) 12:42

HandKot
Большое спасибо!
Проблема действительно была в этом. :!:

PS Диапазон, правда, я взял R3C1:R3C6 так что м.б. ошибка была из-за одного столбца, но вряд ли.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 96

    TopList