Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ADODB VB6 (запрос таблиц в базе данных mdb) Добавлено: 14.01.11 20:20  

Автор вопроса:  VbStarter | Web-сайт: moscowdevils.ru | ICQ: 357911808 
Private Sub Form_Load()
Timer1_Timer
tray_icon
Dim TargetCnn As New ADODB.Connection
Dim rsTables As ADODB.Recordset
Dim tableType As String
Dim tbaleName As String
TargetCnn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & frmUserDataWay.UserWay & ";Jet OLEDB:Database Password=" & VB.LoadResString(103) & dbPath)
TargetCnn.OpenSchema (ADODB.SchemaEnum.adSchemaTables)
[B]Do Until rsTables.EOF = False[/B] ругается на то что вариабл EOF не имеет значения внутри.
     tableType = rsTables.Fields("Table_type").Value 'view or table
    tbaleName = rsTables.Fields("table_name").Value
    rsTables.MoveNext
Loop
rsTables.Close
End Sub

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #1
Добавлено: 14.01.11 21:18
  1. Private Sub Form_Load()
  2. Timer1_Timer
  3. tray_icon
  4. Dim TargetCnn As New ADODB.Connection
  5. Dim rsTables As ADODB.Recordset
  6. Dim tableType As String
  7. Dim tbaleName As String
  8. TargetCnn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & frmUserDataWay.UserWay & ";Jet OLEDB:Database Password=" & VB.LoadResString(103) & dbPath)
  9. rsTables = TargetCnn.OpenSchema(ADODB.SchemaEnum.adSchemaTables) ИНВАЛИД ЮЗ ОФ ПРОПЕРТИ
  10. Do Until rsTables.EOF
  11.      tableType = rsTables.Fields("Table_type").Value 'view or table
  12.     tbaleName = rsTables.Fields("table_name").Value
  13.     rsTables.MoveNext
  14. Loop
  15. rsTables.Close
  16. End Sub

Ответить

Номер ответа: 2
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #2
Добавлено: 14.01.11 21:48
  1. tbl.Open "SELECT MSysObjects.Id, MSysObjects.Name From MSysObjects WHERE (((MSysObjects.Type)=1) AND ((Left([Name],4))<>"MSys" And (Left([Name],4))<>"USys"));", MDB, adOpenStatic, adLockOptimistic

как сделать так чтобы он не ругался на чучи кавычег в SQL коде?
данным кодом мы должны получить таблицу с таблицами базы данных. как из неё перенести данные из определённого столбца из каждой строки значения в лист комбобокса?

Ответить

Номер ответа: 3
Автор ответа:
 MISTER X



ICQ: 463865965 

Вопросов: 31
Ответов: 190
 Web-сайт: studioartf.ru
 Профиль | | #3
Добавлено: 14.01.11 21:56
Попробуй заключить в одинарные кавычки ' да и к тому же...кавычка (";) в вб задается двойной кавычкой ("";)
т.е "" = "

Ответить

Номер ответа: 4
Автор ответа:
 MISTER X



ICQ: 463865965 

Вопросов: 31
Ответов: 190
 Web-сайт: studioartf.ru
 Профиль | | #4
Добавлено: 14.01.11 21:56
блн смайлы.. ( " ) = ( "" )

Ответить

Номер ответа: 5
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #5
Добавлено: 14.01.11 22:09
Так, что ли?
  1. tbl.Open "SELECT MSysObjects.Id, MSysObjects.Name From MSysObjects WHERE (((MSysObjects.Type)=1) AND ((Left([Name],4))<>" & """MSys""" & "And (Left([Name],4))<>" & """USys""" & "));", MDB, adOpenStatic, adLockOptimistic

Ответить

Номер ответа: 6
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #6
Добавлено: 14.01.11 22:27
СПС, как в контроле Data при связи с аксесовскй базой использоать системную таблицу?

Ответить

Номер ответа: 7
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #7
Добавлено: 14.01.11 22:28
и насчёт др. ошибок в коде?

Ответить

Номер ответа: 8
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #8
Добавлено: 14.01.11 22:53
не... я на дотнете пописываю, так что по сему специфическому контролу пас

Ответить

Номер ответа: 9
Автор ответа:
 HIWORD



Вопросов: 0
Ответов: 14
 Профиль | | #9 Добавлено: 14.01.11 23:34
Чтобы не воевать с кавычками, правильнее писать запрос с параметром:
  1.  
  2. ...
  3. Dim rsTables As ADODB.Recordset
  4. Dim cmd As New ADODB.Command
  5. Set cmd.ActiveConnection = TargetCnn
  6. cmd.CommandText = "SELECT Id, Name FROM MSysObjects WHERE Type = MYPARAM1 AND Left(Name,4) not in (MYPARAM2,MYPARAM3)"
  7. Set rsTables = cmd.Execute(, Array(1, "MSys", "USys")) 'MYPARAM1, MYPARAM2, MYPARAM3
  8. Do Until rsTables.EOF
  9.     Debug.Print rsTables("Id") & vbTab & rsTables("Name")
  10.     Combo1.AddItem rsTables("Name")
  11.     Combo1.ItemData(Combo1.ListCount - 1) = rsTables("Id")
  12.     rsTables.MoveNext
  13. Loop


Кроме того, ты забыл
Set rsTables = ...

Ответить

Номер ответа: 10
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #10
Добавлено: 14.01.11 23:55
  1. Private Sub Form_Load()
  2. Dim TargetCnn As New ADODB.Connection
  3. Dim rsTables As ADODB.Recordset
  4. Dim cmd As New ADODB.Command
  5. Set cmd.ActiveConnection = TargetCnn
  6. cmd.CommandText = "SELECT Id, Name FROM MSysObjects WHERE Type = MYPARAM1 AND Left(Name,4) not in (MYPARAM2,MYPARAM3)"
  7. Set rsTables = cmd.Execute(, Array(1, "MSys", "USys")) 'MYPARAM1, MYPARAM2, MYPARAM3
  8. Do Until rsTables.EOF
  9.     Debug.Print rsTables("Id") & vbTab & rsTables("Name")
  10.     Combo1.AddItem rsTables("Name")
  11.     Combo1.ItemData(Combo1.ListCount - 1) = rsTables("Id")
  12.     rsTables.MoveNext
  13. Loop
  14. End Sub


необходим объект OLEDB DATA SESSION неподдерживаемый данным постащиком

Ответить

Номер ответа: 11
Автор ответа:
 HIWORD



Вопросов: 0
Ответов: 14
 Профиль | | #11 Добавлено: 15.01.11 00:11
Нууу, блин ...((
TargetCnn ведь должен быть открыт!

Ответить

Номер ответа: 12
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #12
Добавлено: 29.01.11 13:29
  1. tbl.Open "SELECT MSysObjects.Id, MSysObjects.Name From MSysObjects WHERE (((MSysObjects.Type)=1) AND ((Left([Name],4))<>" & """MSys""" & "And (Left([Name],4))<>" & """USys""" & "));", MDB, adOpenStatic, adLockOptimistic

нет разрешения на чтение MSysObjects

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам