как записать число в самый последний столбец таблицы БД

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

как записать число в самый последний столбец таблицы БД

Сообщение Студентка » 07.06.2005 (Вт) 13:07

и еще вопрос...
Например у меня есть 3 переключателя OptionButton
я выбираю один из них, он соответствует определенному значению,н-р 5
Мне надо эту 5 записать в самый последний столбец моей таблицы с названием result
как это сделать, ? не подскажете?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.06.2005 (Вт) 13:53

1) "Последний столбец" Применимо только MySQL так как она поддерживает Column Sorting

2)SQL инструкцией "UPDATE ИмяТаблицы SET result=5 WHERE [ИмяСтолбцаДругого]='нужное значение' "
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 07.06.2005 (Вт) 14:08

Sebas писал(а):1) "Последний столбец" Применимо только MySQL так как она поддерживает Column Sorting


Ну почему, последним может быть хоть столбец запроса SELECT * FROM ...

Sebas писал(а):2)SQL инструкцией "UPDATE ИмяТаблицы SET result=5 WHERE [ИмяСтолбцаДругого]='нужное значение' "


Можно и так:

Код: Выделить всё
Dim r as new ADODB.Recordset
r.Open "SELECT * FROM MyTable WHERE ID=" & iID, cn, ...
r(Fields.Count-1)=5
r.Update: r.Close

Хотя, конечно, имея столбца автору письма скорей всего известно заранее. Вообще надо задачу знать, чтобы понимать какое решение лучше применять...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.06.2005 (Вт) 14:30

Вы ведь не очень удивитесь, если через пару недель девушка невинно скажет, что юзает Эксель? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 07.06.2005 (Вт) 14:32

GSerg писал(а):Вы ведь не очень удивитесь, если через пару недель девушка невинно скажет, что юзает Эксель? :)


А мы уже ничему не удивимся :lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 14:51

Andrey Fedorov

Dim r as new ADODB.Recordset
r.Open "SELECT * FROM MyTable WHERE ID=" & iID, cn, ...
r(Fields.Count-1)=5
r.Update: r.Close


что то я попробовала и у меня одни ошибки
ID это я понимаю имя моего столбца?
а & iID, cn, ... что такое?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 07.06.2005 (Вт) 14:54

Студентка писал(а):что то я попробовала и у меня одни ошибки


А какие ошибки прочитать не можем? VB ведь пишет более конкретно чем "одни ошибки"...

Студентка писал(а):ID это я понимаю имя моего столбца?
а & iID, cn, ... что такое?


См. Help по методу Open объекта Recordset (ADO) и по синтаксису SQL - всего тут не перескажешь...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.06.2005 (Вт) 14:55

Студентка

Кидай свой код, а то это надолго....
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 15:00

Andrey Fedorov
у меня таблица f1 .в ней 7 столбцов. 7-й называется result
в него мне надо добавить значение 5.
в написанном вами коде в строке

r.Open "SELECT * FROM MyTable WHERE ID=" & iID, cn, ...
ошибка, т.к. она выделена красным.
Если не трудно, напишите мне тупой ,как правильно сделать с моими данными...
P.S.
А насчет масссиов элементов данных кто-нибудь может подсказать???
ООООчень надо!!!! мне завтра сдавать, я в ужасе!

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 15:03

r.Open "SELECT * FROM MyTable WHERE ID=" & iID, cn, ...
он пишет , что syntax error.... а справки у меня нет, я бы почитала:)))

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 07.06.2005 (Вт) 15:23

таблица f1 - это что и где :?:
если это таблица в базе Access, то тогда см синтаксис UPDATE (язык SQL), если это Excel, то проще через его объектную модель и тд тп

конкретизируй свою задачу :evil:

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 07.06.2005 (Вт) 15:27

Студентка писал(а):он пишет , что syntax error.... а справки у меня нет, я бы почитала:)))


Ну что справки нет не повод гордиться - надо озаботиться и установить.

А с базой вообще через что работаешь - DAO или ADO?

Тут уже предлагали - проект в студию - будет быстрей и проще...
А то все-же с телепатами у нас напряг :(
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 15:33

Таблица у меня в Аccesse, а с базой связь через Adodc
Мой проект слишком большой, чтобы высылать, и если често
то слишком позорный, т.к. многие вещи я делаю не так как надо, т.е. через одно место...

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 15:34

С массивами элементов управления кто-нибудь знаком???
Очень нужна помощь!!! :cry:

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 15:37

Konst_One
c update я знаю как обращаться, когда обновляешь строку,

просто мне надо еще в последний столбец занести значение, а потом обновить
как?
Есть форма на ней 3 переключателяъ
выбираю один, и значение должно записаться в последний столбец
предыдущие столбцы у меня заполняются автоматически, через текстовые поля...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.06.2005 (Вт) 15:48

ЛЯ! А полностью ошибку запостить тоже ломает?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 16:03

Sebas
Извини, не знаю местного жаргона...
т.е. я не поняла тебя...

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 07.06.2005 (Вт) 16:18

Студентка

Sebas и другие пытающиеся тебе помочь, пытались сказать, что:
Было-бы всем намного проще, если ты, смоглабы вырезать кусок(работающий) кода, в котором мы все, смогли бы пронаблюдать возникающие у тебя ошибки. И тогда была бы возможность предложить более действенное лечение твоей проблемы, чем гадание на кофейной гуще или допрос с пристрастием с применением плоскогубцев, паяльников и другого сопутствующего инвентаря.

Удачи в объяснениях! :wink:

Помогающим тоже удачи :D Мы за вас болеем!!!
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 16:29

нет у меня никакого кода...
я то что мне написали вставила, получилось:
Private Sub Option1_Click()
Dim r As New ADODB.Recordset
r.Open "SELECT * FROM f1 WHERE result="
r(Fields.Count - 1) = 5
r.Update: r.Close

он мне пишет7 невозможно исопльзовать подключение дл явыполнения операции оно закрыто или не допускается в данном контексте

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 16:30

Igor_123
Может поможешь мне с массивами элементов управления?

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 07.06.2005 (Вт) 16:39

Студентка к сожалению, я практически не работаю с акцессом,
помочь можно попробовать, но я бы не расчитывал на успех, те кто тебе пытались помочь быстрее решат проблему. Mao недавно подымал пошожий вопрос о массиве элементов, поищи. Ты сформулируй свой вопрос, так, что-бы посторонний человек смог понять о чем ты спрашиваешь.

Так о чем ты спрашиваешь???
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 16:45

Igor_123
Есть массив элементов управления( textbox-ов) в количестве,постоянно изменяемом.
есть 3 элемента ADODC, которые нужно связать с этими текстбоксами, для ввода данных в
БД.
т.е. при выборе варианта №1 должен использоваться adodc1, и например для этого варианта есть 3 текстбокса
при выборе варианта №2 используется adodc2 и на форме появляется 4 тексбокса.
при выборе варианта 3 на форме- 5 тестбоксов.
как связать в каждом варианте каждый элемент массива текстбоксов с конкретной строкой в таблице БД
используя конкретный adodc, т е чтобы каждый текстбокс отображал лишь
одну ячейку строки( для ввода новых данных)
т.е. проблема сводится к следующему: как каждому элементу массива ( т.е. каждому текстбоксу ) присовоить одну ячейку строки
если бы это был не массив тогда бы я записала в свойствах, для каждого текстбокса например datafield=r1
а для массива как задать?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.06.2005 (Вт) 16:47

Ну так бы сразу...

Для начала надо соединение с базой открыть....

Set cn=new adodb.connection

cn.open "Строка подключения"

.....

cn.execute "Update f1 Set result=5 WHERE Имядругого столбца=" & Условие

cn.close


Чтото мне подсказывает, что тебе это не пригодиться)))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 16:49

Sebas
Имядругого столбца=" & Условие

Имя другого столбца это какого?
и какое условие?
а строка подключения это номер или что?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.06.2005 (Вт) 17:07

1. ты догадываешь, что в таблице много(не одна) строк, так вот, это критерий какие строки обновлять

2. Что за база?

Если Access то:
Driver=Microsoft Access Driver (*.mdb);DBQ=d:\base.mdb;

Подправить догадаешься?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 17:12

Sebas
а имя другого столбца это что??
я знаю, что тупая...
ну что поделать то???

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.06.2005 (Вт) 17:14

э.... у тя один столбец?
мож и строка одна...

Тады делай так!
Update f1 Set result=5

Мож прокатит))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 17:19

Sebas
не, строк у меня много, и столбцов еще 6 штук...

Студентка
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 06.06.2005 (Пн) 18:40

Сообщение Студентка » 07.06.2005 (Вт) 17:21

Sebas

Update f1 Set result=5

expected end of statement

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 07.06.2005 (Вт) 17:22

ну тебе же надо в определённую стоку записать?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

След.

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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 162

    TopList