powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Sql запрос!Прошу помощи!
49 сообщений из 49, показаны все 2 страниц
Sql запрос!Прошу помощи!
    #33396558
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имееться проект в нем MSHFlexGrid1 соединяеться с базой SQL server 2000 посредством DataEnvironment1, в DataEnvironment1 есть Command1 которая выполняет SQL запрос

SELECT Fcode, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12
FROM Dohodi1

а надо сделать так

SELECT Fcode, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12
FROM Dohodi1
WHERE (kmb = N'14306505000') AND (Tf = 1)

что бы при событии Private Sub CmdFind_Click() из TxtFind бралось значение и подставлялось вместо
N'14306505000', после подстановки MSHFlexGrid1 перересовывался. Прошу помощи в решение вопроса.
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396611
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim strSQL as string
strSQL="SELECT Fcode, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12 " _
" FROM Dohodi1"
" WHERE (kmb = N'" & TxtFind.Text & "') AND (Tf = 1)"

If command1.state=adstateopen then
command1.close
end if
With command1
.Open strSQL,.ActiveConnection,.OpenStatic

End With

set MSHFlexGrid1.datasurce=DataEnvironment1
MSHFlexGrid1.dataMemder="Command1"
MSHFlexGrid1.Refresh
command1.Close
Это непостредственно в коде VB но можно еще ввести параметр для Command1
примерно так в коде самого комманда


WHERE (kmb = N?) AND (Tf = 1)
если хочешь по подробней вторым способом то дай знать
PS
на счет второго способа я не очень уверен с MS SQL
лучше в коде VB записать
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396639
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
If Command1.State = adStateOpen Then ругаеться что

Compile error:Variable not defined

именно сам Command1????
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396655
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересно было бы попробывать и второй способ, просто я с выборкой из базы в Sql server в Visual Basic столкнулся в первые...
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396817
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
If DataEnvironment1.command1.state=adstateopen then
DataEnvironment1.command1.close
end if
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396893
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поправка к предыдущему коду rscommand1

If DataEnvironment1.rscommand1.state=adstateopen then
DataEnvironment1.rscommand1.close
end if
====================
2 вариант
создай новы комманд и введи этот код
SELECT Fcode, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12
FROM Dohodi1
WHERE (kmb = N?) AND (Tf = 1)
при попытке запустить скрипт выдаст сообщение бла-бла параметр
войди в свойства команда
в закладке Parametrs
там в списке с лева увидешь свой параметр под названием Param1
в Datatype = adVarChar
Size=255
Data Host...=String(VT_BSTR)
все остальное по умолчанию
дальше
на вкладу
Advanced
recordsetreturning поставь галочу и preparebiforex... тоже галочку

в коде пишешь так
DataEnvironment1.command1 Txtfind
и выполняется запрос по параметру Txtfind
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396909
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие настройки Command1 должны быть, Command1 должен быть Sql
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396914
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396937
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я заменил
If DataEnvironment1.command1.state=adstateopen then
DataEnvironment1.command1.close
end if

при компиляции выдает ощибку Invalid qualifier
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33396967
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поправка к предыдущему коду rscommand1

If DataEnvironment1.RScommand1.state=adstateopen then
DataEnvironment1.RScommand1.close
end if
Command для SQL
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397055
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Param1 нету, там все поля заблокированы
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397071
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ввел именно этот код с вопросительным знаком?

SELECT Fcode, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12
FROM Dohodi1
WHERE (kmb = N?) AND (Tf = 1)
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397123
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Param1 появился теперь выдает общипку
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397127
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DataEnvironment1.Command1 TxtFind вот здесь ошибка
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397131
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Убери N c запроса

WHERE (kmb = ?) AND (Tf = 1)
и заново установи параметры если нарушились настройки
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397370
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное помогло, теперь у меня даже отбераеться по двум параметрам =))

Есть еще один вопрос как с 2 столбцов из базы занести в ComboBox? и поменять его вместо TxtFind брать значение с ComboBox.Причем 1 столбец числа а другой пояснение к этим числам

Пример 14202100000 - ля ля ля тополя

Тоесть в комбо должно показывать числа с обьяснениями, а искать тока по числам. Очень буду благодарен в решение и этого вопроса.
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397680
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не очень понял что хочешь сделать
нужно значения столбцов ввести в Combo?
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397792
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица, в ней 2 столбца надо их засунуть в комбо бокс.
На примере показано цифры а на против них должен быть описание
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397811
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После этого кода


DataEnvironment1.Command1 TxtFind

введи
With DataEnvironment1
.rsCommand1.MoveFirst
Do Until .rsCommand1.EOF
Combo1.Add rsCommand1.Filds("имя столбца 1").Value & " " _
& .rsCommand1.Filds("имя столбца 2").Value
.rsCommand1.MoveNext
Loop
End With
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397842
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понимаешь какая штука вот это DataEnvironment1.Command1 TxtFind у меня в одной таблице а те 2 столбца находяться в другой таблице
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397855
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда создай новый Command2 с SQL запросом и
With DataEnvironment1
.Command2
.rsCommand2.MoveFirst
Do Until .rsCommand2.EOF
Combo1.Add rsCommand2.Filds("имя столбца 1").Value & " " _
& .rsCommand2.Filds("имя столбца 2").Value
.rsCommand2.MoveNext
Loop
End With
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397856
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397969
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо помогло, а как сделать так что бы пользователь нажав на какую нибудь надпись в комбо боксе она подставлялась в TxtFind
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33397991
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TxtFind.Text=Combo1.Text
и на этом пока все
до завтра !!
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399009
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TxtFind.Text=Combo1.Text помогло, только как сделать так что бі оно работало не при нажантии на

Private Sub CmdCombo_Click()
TxtFind.Text = Combo1.Text
End Sub

а при выборе из комбо сразу подставлялось в TxtFind.Text без текста только буквы???
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399067
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub CmdCombo_Change()
TxtFind.Text = Combo1.Text
End Sub
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399331
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не работает, как с комбо бокса вырезать тока числовое значение
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399366
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Text1.Text = Combo1.Text 'выводит строку, по которой щелкнули мыщью

почему то когда я щелкаю мышью вот это не работает??
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399369
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если целочисленное значение
то Val(Combo1.Text) пример = 125233 "Привет" возвращает 125233 а если так 1252,33 "Привет" возвращает 125233 без дробной части если нет в числах поиска, дробной часи то сойдет Val

TxtFind.Text =Val(Combo1.Text)
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399399
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TxtFind.Text = Val(Combo1.Text) работает отбирает значение только числовое, только вот почему то при нажатиии мышкой на любой элемент комбо бокса он не копируеться в TxtFind.Text

Private Sub Combo1_Change()
TxtFind.Text = Val(Combo1.Text)
End Sub


не работает
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399403
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все разобрался надо было вместо Private Sub Combo1_Change() поставить
Private Sub Combo1_Click() все работает
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399406
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может что еще понадобиться у тебя еть аська?
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399428
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй чере переменную работать и с событием Клик

если пользователь не должен менять текст в комбо то используй Клик
и измени значение Комбо Style=2-Dro........ для полной уверенности введи и туда и туда никто от этого не пострадает

Private Sub Combo1_Change()
Dim lngNumber as Long
lngNumber =Val(Combo1.Text)
TxtFind.Text = lngNumber
End Sub

Private Sub Combo1_Click()
Dim lngNumber as Long
lngNumber =Val(Combo1.Text)
TxtFind.Text = lngNumber
End Sub
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399757
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема в вот этом

DataEnvironment1.Command1 TxtFind, TxtFind1, TxtFind3

тоесть TxtFind3 береться из Combo2, надо написать условие есть TxtFind3 пустой то выдовало сообщение и искало по

DataEnvironment1.Command1 TxtFind, TxtFind1

без TxtFind3?????
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399882
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Измени SQL запрос в условии


WHERE (kmb = N?) And (Tf = ?) Or (TT=?)=TextFind3 параметр
если тот=тоту и то=тому или равно чемуто то делай что то
где чему то не обязательный парамтр
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33399959
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
изменил на это
WHERE (kmb = N?) And (Tf = ?) Or (TT=?),

нодо что бы есть в поле TT ничего не введено тогда
WHERE (kmb = N?) And (Tf = ?)

иначе

WHERE (kmb = N?) And (Tf = ?) And (TT=?)
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33400005
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два мне известных варианта решения твоей проблемы
1 не рабоать с параметрами а вволить запрос в VB код как я раньше советовал и поставить условие в VB

если Сombo1.text="" тогда работает
WHERE (kmb = N?) And (Tf = ?)
иначе
WHERE (kmb = N?) And (Tf = ?) And (TT=?)

2 вариант создать еще один коммнад но только с двумя параметрами
и в VB поставть условие такое же

если Сombo1.text="" тогда работает
.Command2 txtFind,txtFind2
иначе
.Command1 txtFind,txtFind2,txtFind3
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33400552
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ты случайно с ДатаРепортом не работал???
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33402395
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да работал и работаю
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33416697
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не подскажешь как мне теперь вот это все вывести в Дата репорт?
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33417277
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Введи Dr в проект

Dr работеат почти так же как MsHFg..
Dr имеет определенные секции для ввода текстовых полей с заданными datafield-ами каждое к примеру M1 это твоя колонка которая будет выводится как строки
сначала надо связать датар с дата сурсом кторый ты создаешь, дата сурс это твой De.. а Datamember твой Commnd1
после можно воспользоаваться коммандой Retrieve structur (контекстное меню на dr)
повле этой коммнады появиться секция Ciomman1_Datile
в этой секциии вводится rtpTextBox столько сколько у тебя есть колонок в таблице данных или столь сколько нужно показать пользователю
в свойстве (rtpTextBox) datamember ставишь Command1 а datafield ставишь M1
строки колонки M1 будет выводится в этом rtpTextBox-е
запусти Dr и посмотри результат
PS
Создай новый Command с запросом SQL =select * from твоятаблица
пока попробуй это потом пойдем дальше
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33417931
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок завтра попробую.Спасибо за помощь, до завтра
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33419165
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два мне известных варианта решения твоей проблемы
1 не рабоать с параметрами а вволить запрос в VB код как я раньше советовал и поставить условие в VB

если Сombo1.text="" тогда работает
WHERE (kmb = N?) And (Tf = ?)
иначе
WHERE (kmb = N?) And (Tf = ?) And (TT=?)

2 вариант создать еще один коммнад но только с двумя параметрами
и в VB поставть условие такое же

если Сombo1.text="" тогда работает
.Command2 txtFind,txtFind2
иначе
.Command1 txtFind,txtFind2,txtFind3

Что то вот это у меня не работает???
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33419285
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что то что Dr с твоими коммандами(с параметрами) или просто параметры
или просто комманд без параметров с DR
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33424360
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня к тебе вопрос, у тебя нет аськи?
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33424423
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть но почти не использую
не всегда в сети
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33424461
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль, думал найти альтернативній способ общения... =((
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33424516
Muadip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДатаРепорт оказался не нужным, надо засунуть то что отбераеться комбами В Excel???По форуму поискал ничего подобного не нашел
...
Рейтинг: 0 / 0
Sql запрос!Прошу помощи!
    #33424880
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у твоего запроса комманд есть recordset
rsCommand1
после выборки данных через параметры
твой комманд получает выборку тех данных кторые введены параметрами

что бы вывести данные выбранных записей в любое мест Excel или даже в ворд
можно просто в List нужно проциклить Recorset

DataEnvironment1.rsCommand1 парам1,парам2

with DataEnvironment1.rsCommand1
.MoveFirst
Do until .EOF
___________________________________
list1.Additem .Fields(0).Value

' в этой части кода можно выпонить сопоставление
эксел ячеек с (.Fields(0).Value ) с значением колонки


_________________________________
.MoveNext
loop
end with

или цикл по счетчику болле удобен если выборка ячеек в экс работает с счетчиком
with DataEnvironment1.rsCommand1
.MoveFirst
For i=0 to .RecordCount
___________________________________
list1.Additem .Fields(0).Value

' в этой чатси кода можно выпонить сопоставление
эксел ячеек с (.Fields(0).Value ) с значением колонки
Ячейка(i,6)=.Fields(0).Value
Ячейка(i,7)=.Fields(1).Value
Ячейка(i,8)=.Fields(2).Value
_________________________________
.MoveNext
next i
end with

Вот пример ввода сразу всех занчений в таблицу екселя

On Error Resume Next
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet


Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets.Add


xlApp.Visible = True

DataEnvironment1.Command1
With DataEnvironment1.rsCommand1
.MoveFirst

For i = 0 To .RecordCount
For j = 0 To .Fields.Count
' циклится не только строки но и колонки и сразу вводится
'значение в массив ячеек



xlSheet.Cells(i, j).Value = .Fields(j).Value


Next j
.MoveNext
Next i
End With
Set xlApp = Nothing
Set xlBook = Nothing
Set xlSheet = Nothing
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Sql запрос!Прошу помощи!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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