Я новичок в VB, недавно начался, и я счастлив, что добился прогресса.Форма VB - чтобы пользовательское взаимодействие выбирало данные из SQL Server
Однако я более новичок в формах VB при подключении к SQL-серверу и позволяет пользователю взаимодействовать с ним, чтобы запросить любые данные, которые они хотят, в excel.
Это происходит так, я уже создал пользовательскую форму, которая имеет флажок (>, чем, <, чем), текстовое поле (ввод числа) и еще 2 флажка (мужской, женский) и поле со списком (состояние) , У меня также есть данные в базе данных SQL Server.
То, что я пытаюсь сделать и по-прежнему пытается, заключается в том, чтобы позволить пользователям взаимодействовать с формой, установив флажки, сделав выбор в поле со списком и введя число в текстовое поле и нажав кнопку, чтобы запустить программу VB для экспорта запрошенных данных в Excel (моя задача - экспортировать его в файл Excel, который уже был создан и сохранен в каталоге, или экспортировать его во вновь созданный файл Excel, который еще не был сохранен (вроде как всплывающее окно).
Например, пользователь проверяет>, а затем вводит номер 25 (например, возраст), и проверяет женщину, а в combobox выбирает NY и нажимает кнопку. Программа должна запрашивать, в этом случае женщина старше 25 лет, которая живет в Нью-Йорке и экспортирует ее в Excel в виде всплывающего окна или файла excel tha t уже сохранен в каталоге. Я занимаюсь некоторыми исследованиями по этому вопросу, но не добился больших успехов, поскольку я новичок в формах, связях и извлечении. Мой код ниже создает файл Excel в каталоге и пытается запросить данные в файле сохранения Excel. Мой запрос ниже. Пожалуйста, порекомендуйте !
Imports System.IO
Imports excel = Microsoft.office.interop.Excel
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Module module1
Dim myconnection As SqlConnection
Dim mycommand As SqlCommand
Sub main()
Dim xlapp = New excel.application
xlapp.visible = True
Dim xlwb As excel.workbook
Dim xlws As excel.worksheet
Dim path As String = "C:\users\t\"
Dim excel_name As String = "zp"
xlwb = xlapp.workbooks.add()
xlws = xlwb.sheets("sheet1")
xlwb.saves(path & excel_name)
xlapp.save()
xlapp.quit()
Using myconnection As New SqlConnection("data source =afe;initial catalog=zp;integrated securitytrue")
myconnection.Open()
Dim mycommand As New SqlCommand("insert into openrowset('Microsoft.ace.oledb.12.0','excel 12.0; database=zp:\c:users\dek\rep\zp.xlsx;','SELECT * FROM [Sheet1$]') select * from mem_TBL", myconnection)
End Using
End Sub
End Module
это моя база запросов на выбор пользователя в качестве примера.
SELECT a.z, a.ad, a.ag, a.ret, a.tot, a.wgt
FROM mtbl a INNER JOIN zTBL b ON a.z = b.zp
WHERE a.age > 25 AND a.ad = "NY" AND a.ret ="female"
Благодарим вас за пример кода. Я понимаю вашу концепцию, но я заметил, что есть несколько недостающих частей, некоторые из которых я мог бы заполнить, другие я не могу. Я не хочу писать слишком долгое сообщение, - основная проблема для меня - это то, как я ссылаюсь на данные в SQL Sever для конкретной таблицы (Col и строки для запроса и зацикливания на excel). Во-вторых, как поместить запрос, скажем, в предложение where a.ad <> "i" или когда a.ret = "". Еще раз спасибо. Я ценю ваш код, просто некоторые перерывы и немного неясную, но очень приятную концепцию и пример. – Johnseito
Это была моя ошибка, я только заметил, что, когда я помещал создание excel workbook перед использованием, код запускается, но он никогда не входит в For Loop, теперь, когда я помещаю его между использованием. Код запускается в For Loop, но я не знаю, как получить доступ к таблице запросов в db, так как ваш пример - строка («<значение в ячейке # 1>»). Благодарю. – Johnseito
Просто хочу обновить, что я получил строку ("<значение в ячейке # 1>"), проблема была решена путем просмотра этой ссылки https://social.msdn.microsoft.com/forums/en-us/f2e15d21-c1ad-47f3-9c55-1cdb8212af5b/vbnet-loop-throught-dataset-question? forum = vblanguage и, в частности, этот код. FoundRow ("ColumnName"). Ваш пример хорош. – Johnseito