ADODB.Connection и Edit

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

ADODB.Connection и Edit

Сообщение Netta » 29.06.2004 (Вт) 16:42

Объясните мне глупой, как ADODB.Connection редактирует записи. Новые вводит, ненужные стирает, а как редактировать, так ни в какую. Может ей метод Open какой то особенный нужен? Подскажите если кто знает.

Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Сообщение Leon_ » 29.06.2004 (Вт) 16:52

Я делаю вот так:
Код: Выделить всё
sQuery = "UPDATE Table1 SET [Buyer]=Null WHERE [Table_ID]=1"
CurrentProject.Connection.Execute sQuery, , adCmdText + adExecuteNoRecords

Tuco
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 18.06.2003 (Ср) 16:37
Откуда: Подмосковье

Сообщение Tuco » 29.06.2004 (Вт) 16:52

через UPDATE
"There's more than one way to do it!"

Netta
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 25.11.2003 (Вт) 12:22
Откуда: Lithuanian

Сообщение Netta » 29.06.2004 (Вт) 16:58

Leon_ писал(а):Я делаю вот так:
Код: Выделить всё
sQuery = "UPDATE Table1 SET [Buyer]=Null WHERE [Table_ID]=1"
CurrentProject.Connection.Execute sQuery, , adCmdText + adExecuteNoRecords



Если я правильно понимаю, то Table1- таблица в которой я меняю запись, а SET [Buyer]=Null, это поле Buyer=Null? и если записей у которых [Table_ID]=1 будет несколько, то редактируем все?

Большое спасибо бегу испробую.

Netta
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 25.11.2003 (Вт) 12:22
Откуда: Lithuanian

Сообщение Netta » 29.06.2004 (Вт) 17:13

А нельзя как нибудь чтобы сначала открыть и посмотреть и потом если нужно исправить. У меня такой код есть но он с ДАО, а я хочу чтобы всё с АДО работало.

Set Baze = OpenDatabase(TaskPath)
Set RST = Baze.OpenRecordset("SELECT Kitas, Periodas FROM taskai WHERE Taskai.TaskId=" & DienosPr(i).Id & ";")
If RST.BOF = False Then
If VarType(RST.Fields(1).Value) = vbNull Then GoTo Kitas
RST.Edit
If IsDate(RST.Fields(1).Value) = True Then
RST.Fields(0) = CDate(DienosPr(i).laikas) + CDate(RST.Fields(1).Value)
Else
AwkT = RST.Fields(1).Value
AwkT.FS = ","
If Val(AwkT.F(1)) <> 0 Then
RST.Fields(0).Value = DateSerial(Year(DienosPr(i).laikas) + AwkT.F(1), Month(DienosPr(i).laikas), Day(DienosPr(i).laikas)) & " " & TimeSerial(Hour(RST.Fields(0).Value), Minute(RST.Fields(0).Value), 0)
ElseIf Val(AwkT.F(2)) <> 0 Then
RST.Fields(0).Value = DateSerial(Year(DienosPr(i).laikas), Month(DienosPr(i).laikas) + AwkT.F(2), Day(DienosPr(i).laikas)) & " " & TimeSerial(Hour(RST.Fields(0).Value), Minute(RST.Fields(0).Value), 0)
ElseIf Val(AwkT.F(3)) <> 0 Then
RST.Fields(0).Value = DateSerial(Year(DienosPr(i).laikas), Month(DienosPr(i).laikas), Day(RST.Fields(0).Value) + AwkT.F(3)) & " " & TimeSerial(Hour(RST.Fields(0).Value), Minute(RST.Fields(0).Value), 0)
End If
End If
RST.Update

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

Сообщение alibek » 30.06.2004 (Ср) 15:38

В ADO нет .Edit.
Просто изменяешь значения полей, а потом делаешь Recordset.Update. Кстати, можно делать обновление и в таком виде: Recordset.Update Array("Field1","Field2"), Array("Value1",123)
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 33

    TopList  
cron