Run-time error '424': Необходим Объект

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Гороцкоп
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 07.04.2011 (Чт) 10:44

Run-time error '424': Необходим Объект

Сообщение Гороцкоп » 27.06.2011 (Пн) 6:44

На форме есть ComboBox1, подключённый к Adodc1 и ещё разные TextBox'ы и ComboBox'ы.
Нужно чтобы, при выборе любой записи из ключевого поля "АДРЕС" в ComboBox1 в остальных TextBox'ах и ComboBox'ах появлялась соответствующая информация из таблицы "Baza_adresov" (в пределах записи, но из других столбцов). При попытке выбрать адрес в ComboBox1
выдаёт ошибку "Run-time error '424': Необходим Объект" и выделяет жёлтым длинную строку запроса.
Вопрос: В чём причина ошибки и какой "Объект" ему "Необходим"? что нужно исправить в коде?
База аксесс 2003, Microsoft Visual Basic 6.0. К БД всё подключено через свойства Adodc1 и ComboBox.

Код: Выделить всё
Option Explicit
Dim rs1 As Variant
Dim adr As Variant
Private Sub Combo1_Click()
adr = Combo1.Text
rs1.Adodc1.RecordSource = "Select УЛИЦА " & " From Baza_adresov Where АДРЕС = '" & adr & "'"
rs1.Adodc1.Open
rs1.Adodc1.MoveFirst
Combo2.Text = rs1.Fields("УЛИЦА")
Do While Not rs1.EOF
Combo2.AddItem rs1.Fields("УЛИЦА")
rs1.MoveNext
Loop
rs1.Close
End Sub

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Run-time error '424': Необходим Объект

Сообщение ger_kar » 27.06.2011 (Пн) 8:04

Гороцкоп писал(а): В чём причина ошибки и какой "Объект" ему "Необходим"
Ну собственно rs1 и необходим. Ты же его не создал, а просто объявил переменную. И почему с типом Variant ?
Бороться и искать, найти и перепрятать

vavadim
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 12.02.2013 (Вт) 13:49

Re: Run-time error '424': Необходим Объект

Сообщение vavadim » 12.02.2013 (Вт) 13:53

добрый день! объясните для неопытных: что значит "Ты же его не создал, а просто объявил переменную." ? Как создать объект? :oops: ( ошибка указывает на строку S = Stroka.Substring(2, 8 ) )

Код: Выделить всё
Private Sub Perepis_ot_data_Click()

  Dim intFH As Integer
  Dim i As Integer
  Dim String0 As String
  Dim String1 As String
  Dim String2 As String
  Dim String3 As String
  Dim String4 As String
  Dim S As String
 
    intFH2 = FreeFile()
    intFH3 = FreeFile(1)
   
    String0 = Text4.Text
    String1 = Text2.Text
    String2 = Text3.Text
    String3 = "D:\\" & String0 & ".txt"
    String4 = "D:\\" & String0 & "-RESULT.txt"
   
    Open String3 For Input As intFH2
    Open String4 For Output As intFH3
   
    Line Input #intFH2, Stroka
    S = Stroka.Substring(2, 8 )
    If (S = String2) Then
    Print #intFH3, Stroka
    End If
   
    Close #intFH
    Close #intFH1

End Sub

[Viper] :: Пользуйся тэгом CODE!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Run-time error '424': Необходим Объект

Сообщение Viper » 12.02.2013 (Вт) 20:57

У тебя переменная Stroka даже и не задана, а ты из нее подстроку хочешь вырезать.
Весь мир матрица, а мы в нем потоки байтов!

vavadim
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 12.02.2013 (Вт) 13:49

Re: Run-time error '424': Необходим Объект

Сообщение vavadim » 13.02.2013 (Ср) 14:31

Объявил Переменную Stroka как String

Код: Выделить всё

Private Sub Perepis_ot_data_Click()

  Dim intFH2 As Integer
  Dim intFH3 As Integer
  Dim i As Integer
  Dim String0 As String
  Dim String1 As String
  Dim String2 As String
  Dim String3 As String
  Dim String4 As String
  Dim S As String
  Dim Stroka As String
 
    intFH2 = FreeFile()
    intFH3 = FreeFile(1)
   
    String4 = Text4.Text
    String2 = Text2.Text
    String3 = Text3.Text
    String0 = "D:\\" & String4 & ".txt"
    String1 = "D:\\" & String4 & "-RESULT.txt"
   
    Open String0 For Input As intFH2
    Open String1 For Output As intFH3
   
    Line Input #intFH2, Stroka
    S = Stroka.Substring(2, 8)
    If (S = String2) Then
    Print #intFH3, Stroka
    End If
   
    Close #intFH
    Close #intFH1

End Sub


теперь выскакивает сообщение: "Compile error: Invalid qualifier", слово Stroka в строчке "S = Stroka.Substring(2, 8 )" выделяется синим цветом, а строка "Private Sub Perepis_ot_data_Click()" выделяется желтым. что предпринимать?

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Run-time error '424': Необходим Объект

Сообщение ger_kar » 13.02.2013 (Ср) 16:30

Ну правильно выделяется, Stroka это переменная строкового типа. И откуда у простой строки может быть метод или свойства Substring? Правильно, никогда не было и быть не может! Из твоего кода понятно что, некоторая строка считывается из файла. Но что ты с ней хочешь сделать нифига не понятно. И причем здесь Substring?
Кроме того путь String4 = "D:\\" & String0 & "-RESULT.txt" Указывается с одинарным слешем String4 = "D:\" & String0 & "-RESULT.txt". Здесь слешь экранировать не надо.
Бороться и искать, найти и перепрятать

vavadim
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 12.02.2013 (Вт) 13:49

Re: Run-time error '424': Необходим Объект

Сообщение vavadim » 14.02.2013 (Чт) 6:23

про Substring высмотрел тут: http://msdn.microsoft.com/ru-ru/library/ms234766.aspx
как тогда мне выдрать часть строки правильно?

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Run-time error '424': Необходим Объект

Сообщение ger_kar » 14.02.2013 (Чт) 6:39

vavadim писал(а):про Substring высмотрел тут: http://msdn.microsoft.com/ru-ru/library/ms234766.aspx
Надо внимательно справку смотреть, ибо то, что указанно по ссылке относится к Visual Studio 2012 (Visual Studio 2010 Visual Studio 2008), а стало быть к VB.net, но уж никак не к VB6.
vavadim писал(а):как тогда мне выдрать часть строки правильно?
Вариантов куча, только вот непонятно, что конкретно необходимо. Выдрать часть строки понятие очень растяжимое. Из строки можно взять пару символов слева, тогда это будет функция Left$, а может нужно пяток символов справа, тогда заюзать надо функцию Right$, ну и т.д.
Бороться и искать, найти и перепрятать

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 14.02.2013 (Чт) 6:52

vavadim писал(а):
Код: Выделить всё
S = Stroka.Substring(2, 8)

Код: Выделить всё
S = Mid$(Stroka, 3, 8)

vavadim
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 12.02.2013 (Вт) 13:49

Re: Run-time error '424': Необходим Объект

Сообщение vavadim » 14.02.2013 (Чт) 12:06

Благодарю, товарищи!


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

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

Сейчас этот форум просматривают: Google-бот, Mail.ru [бот] и гости: 85

    TopList