Delphi Опубликовано 20 марта, 2007 Жалоба Поделиться Опубликовано 20 марта, 2007 (изменено) Здраствуйте начал работу с аксесом еговнутренними средствами работает вроди нормально только вот одна неувязочка с массивами не хочет работать пишу следующий Dim arr1() As String Sub intel() Dim db As Database Dim rs As Recordset Dim qd As QueryDef Dim str As String Dim i As Integer i = 0 Set db = OpenDatabase("razborka.mdb") str = "SELECT Выделено FROM [ТЭ-1-1_Выбрка_СтТовар]GROUP BY Выделено" Set qd = db.QueryDefs("test") qd.SQL = str Set rs = qd.OpenRecordset(dbOpenDynaset) rs.MoveFirst Do ReDim arr1(i) arr1(i) = rs.Fields(0).Value MsgBox arr1(i) '- здесь текст нормалньо выводиться rs.MoveNext i = i + 1 Loop While Not rs.EOF MsgBox arr1(5) '- выводиться пустая строка End Sub Провел также один експеримент и выяснилось что такая вещь получаеться из-за использование ReDim arr1(i) в цыкле, почему такслучаеться Изменено 20 марта, 2007 пользователем Delphi Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
yuriks Опубликовано 20 марта, 2007 Жалоба Поделиться Опубликовано 20 марта, 2007 Redim очищает масив. Останется только последнее значение. Вставь перед "Do" rs.MoveLastReDim arr1(rs.RecordCount)rs.MoveFirst Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Delphi Опубликовано 22 марта, 2007 Автор Жалоба Поделиться Опубликовано 22 марта, 2007 Ясно Такой ещё вопрос у меня есть бд, также есть модуль на ВБА в нем запросы работают но одно но есть такая строка Set db = OpenDatabase("C:\razborka.mdb") и с недавнего времени начало выдавать сообщение что база данных уже используеться в связи с этим вопрос как мне указать чтобы база данных не открывалась а использовалась уже открытая Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
yuriks Опубликовано 22 марта, 2007 Жалоба Поделиться Опубликовано 22 марта, 2007 Set db = Application.CurrentDb Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Delphi Опубликовано 22 марта, 2007 Автор Жалоба Поделиться Опубликовано 22 марта, 2007 Set db = Application.CurrentDb ок спасибо Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.