Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
PAHA
-
- Начинающий

-
-
- Сообщения: 12
- Зарегистрирован: 25.01.2005 (Вт) 1:46
- Откуда: Великие Луки
PAHA » 16.04.2005 (Сб) 18:14
Попогите плиз что делаю не так!!!
через рекордсет все работает а SQL нет
- Код: Выделить всё
.Adodc2.RecordSource = "UPDATE Поступление SET Остаток=3 WHERE АРТ=3"
.Adodc2.Refresh
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 16.04.2005 (Сб) 18:36
Ты уверен, что Поступление и Остаток это имена полей, а не их Caption?
Lasciate ogni speranza, voi ch'entrate.
-
PAHA
-
- Начинающий

-
-
- Сообщения: 12
- Зарегистрирован: 25.01.2005 (Вт) 1:46
- Откуда: Великие Луки
PAHA » 16.04.2005 (Сб) 18:51
Поступление - таблица
Остаток - столбец
Арт - код строки
Если предложение SELECT то все работает если UPDATE или DELETE нет

во как
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 16.04.2005 (Сб) 19:02
Сразу и не заметил.
А ты мне объясни, как результат UPDATE или DELETE может быть рекордсетом? Он же ничего не возвращает.
Что по твоему должен вернуть указанный код?
Lasciate ogni speranza, voi ch'entrate.
-
PAHA
-
- Начинающий

-
-
- Сообщения: 12
- Зарегистрирован: 25.01.2005 (Вт) 1:46
- Откуда: Великие Луки
PAHA » 16.04.2005 (Сб) 19:07
в этом все и дело что нужно не через рекордсет а просто изменить или удалить запись
везде когда DELETE делают вроде серез какойто Execute куда его запихнуть не знаю

-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 16.04.2005 (Сб) 19:10
Контролом никогда не пользовался, я обычно делал это так:
cnn.Execute "DELETE FROM ..."
где cnn - объект ADODB.Connection
Lasciate ogni speranza, voi ch'entrate.
-
PAHA
-
- Начинающий

-
-
- Сообщения: 12
- Зарегистрирован: 25.01.2005 (Вт) 1:46
- Откуда: Великие Луки
PAHA » 16.04.2005 (Сб) 19:21
Тоесть типа
- Код: Выделить всё
Option Explicit
Private DEL()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
With cn
'Если база 2000, то провайдер такой:
.Provider = "Microsoft.Jet.OLEDB.4.0"
'указываем путь к нашей базе
.ConnectionString = "mb2.mdb"
'открываем конекшн
.Open
End With
'Устанавливаем свойства рекордсета и открываем его
With rs
.ActiveConnection = cn
.LockType = adLockReadOnly
.CursorType = adOpenDynamic
'делаем выборку взависимости от введенных чисел
.Source = "DELETE ля ля ля "
.Open
End With
'убиваем объекты
Set rs = Nothing
Set cn = Nothing
End Sub
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 16.04.2005 (Сб) 19:29
Я бы сделал по другому.
- Код: Выделить всё
Dim cnn As ADODB.Connection
...
Set cnn = New ADODB.Connection
cnn.Open "Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb"
cnn.Execute "DELETE ..."
cnn.Close
Set cnn = Nothing
Lasciate ogni speranza, voi ch'entrate.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 11