powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB
23 сообщений из 23, страница 1 из 1
ADODB
    #33130342
Алмаз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, можно ли с помощью ADODB создать или добавить новое поле.

Заранее благодарю.
...
Рейтинг: 0 / 0
ADODB
    #33130377
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
DIM cnn as new adodb.Connection

' ... подключение к базе

cnn.execute "ALTER TABLE myTable ADD COLUMN myNewFld TEXT(50)" ' Access
cnn.execute "ALTER TABLE myTable ADD COLUMN myNewFld nvarchar(50)" ' SQL Server
...
Рейтинг: 0 / 0
ADODB
    #33130427
DEN15
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда вопрос в тему: как создать саму базу средствами АДО (access)
...
Рейтинг: 0 / 0
ADODB
    #33130609
Almaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nibbles
Код: plaintext
1.
2.
3.
4.
5.
DIM cnn as new adodb.Connection

' ... подключение к базе

cnn.execute "ALTER TABLE myTable ADD COLUMN myNewFld TEXT(50)" ' Access
cnn.execute "ALTER TABLE myTable ADD COLUMN myNewFld nvarchar(50)" ' SQL Server



Спасибо, работает!

Извиняюсь за наглость, подскажите, а как удалить


Спасибо.
...
Рейтинг: 0 / 0
ADODB
    #33130728
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Almaz[quot nibbles]
...
а как удалить


Спасибо.

Код: plaintext
cnn.execute "ALTER TABLE myTable DROP COLUMN myOldFld"
...
Рейтинг: 0 / 0
ADODB
    #33130763
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DEN15Тогда вопрос в тему: как создать саму базу средствами АДО (access)

Как создать базу MSSQL ADO VB?
...
Рейтинг: 0 / 0
ADODB
    #33130938
Almaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nibbles Almaz[quot nibbles]
...
а как удалить


Спасибо.

Код: plaintext
cnn.execute "ALTER TABLE myTable DROP COLUMN myOldFld"



Спасибо!

Клаква, я балдю!
...
Рейтинг: 0 / 0
ADODB
    #33130958
Фотография programmator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй просто копировать (copy) шабон xxx.mdb
...
Рейтинг: 0 / 0
ADODB
    #33164536
Guntis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
'Microsoft® ActiveX® Data Objects Extensions for Data Definition Language and Security (ADOX)
'The ADOX library file name is Msadox.dll, and the program ID (ProgID) is "ADOX".

Sub CreateDatabase()
Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"
End Sub
...
Рейтинг: 0 / 0
ADODB
    #33164721
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторDim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"
End Sub автор
Это уже ближе к истине, может и сработает.
...
Рейтинг: 0 / 0
ADODB
    #33306283
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как сохранить строку из базы в переменную (массив)?
...
Рейтинг: 0 / 0
ADODB
    #33306307
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
array = recordset.GetRows( Rows, Start, Fields )
...
Рейтинг: 0 / 0
ADODB
    #33306333
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИзвиняюсь за наглость, подскажите, а как удалить
Удаляй файлы и всех делов. Kill или через FSO.
...
Рейтинг: 0 / 0
ADODB
    #33306352
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Letter_Darray = recordset.GetRows( Rows, Start, Fields )
А где можно доку найти по этим функциям ADODB?
...
Рейтинг: 0 / 0
ADODB
    #33306420
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
ADODB
    #33306682
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу, согласно подсказке выше, след.:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Dim conn As New ADODB.Connection
Dim rstEmployees As ADODB.Recordset
Dim arr As Variant
Dim intRows As Integer

conn.Open ("Provider=SQLOLEDB.1;Data Source=VM-ZVAN;Initial Catalog=FLINK;User ID=sa;Password=;")

strMessage = "Enter number of rows to retrieve:"
intRows = Val(InputBox(strMessage))
    
arr = rstEmployees.GetRows(intRows)    ' ЗДЕСЬ ВЫДАЕТ ОШИБКУ (см.ниже)!!! 

rstEmployees.Close
conn.Close
Ошибка:
Код: plaintext
1.
Object variable or With block variable not set (Error  91 )

В чем тут дело, и как сделать нормально?
Подскажите!
...
Рейтинг: 0 / 0
ADODB
    #33306707
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вообще, я ж тут даже таблицу не указал из которой делать выборку!!!

Подскажите, плиз, как сие нормально сделать?

1. Подключение к базе (это есть).
2. Указание используемой таблицы (вроде можно так: conn.Execute ("USE ALR"))
3. Выборка данных из таблицы в переменную VBA.
...
Рейтинг: 0 / 0
ADODB
    #33306862
По поводу твоей ошибки;New пропустил в это строчке.
Код: plaintext
Dim rstEmployees As ADODB.Recordset

Надо:
Код: plaintext
Dim rstEmployees As New ADODB.Recordset

По поводу всего остально, в хелпе вроде все есть.

Вот еще пример.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
    Dim cnn As New ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim arr As Variant
    Dim i As Long
    Dim j As Long

    cnn.Open "Provider=sqloledb;Data Source=(local);" _
      & " Initial Catalog=pubs;User Id=sa;Password=1;"
    
    rst.Open "SELECT AAA, BBB FROM Table1", cnn, adOpenStatic, adLockReadOnly
    
    If rst.RecordCount =  0  Then
        MsgBox "Записей нет."
    Else
        arr = rst.GetRows(rst.RecordCount)
    End If
    
    For i =  0  To rst.RecordCount -  1 
        For j =  0  To  1 
            Debug.Print arr(j, i) & " ";
        Next j
        Debug.Print vbCrLf
    Next i
   
    rst.Close
    cnn.Close
    
    Set rst = Nothing
    Set cnn = Nothing
...
Рейтинг: 0 / 0
ADODB
    #33306956
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромный сенкс:)
...
Рейтинг: 0 / 0
ADODB
    #33312250
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новая трабла:(
Пишу след. образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strMessage As String

conn.Open ("Provider=SQLOLEDB.1;Data Source=VM-ZVAN;Initial Catalog=FLINK;User ID=sa;Password=;")

strMessage = "CREATE TABLE Recept (id integer, marka char(10), Temp integer, d integer, grupa char(10))"
conn.Execute (strMessage)
 
rst.Close     'ОШИБКА! (см. ниже)
conn.Close

Set rst = Nothing
Set conn = Nothing
Выдает след. ошибку:
Код: plaintext
1.
2.
Run-time error '3704':
Operation is not allowed when the object is closed.
Убираю строки:
Код: plaintext
1.
2.
rst.Close
conn.Close
и все ОК.
В чем тут прикол? И как правильно делать?
...
Рейтинг: 0 / 0
ADODB
    #33312260
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, немного ошибся. Щас переформулирую....
...
Рейтинг: 0 / 0
ADODB
    #33312271
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Усе, во всем разобрался;)
...
Рейтинг: 0 / 0
ADODB
    #33313902
Прикол в том, что ты пытаешься закрыть неоткрытый рекодсет. :)
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADODB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]