Program: odczytujący bazę danych.
Dla poszczególnych zadań:
- w 1 arkuszu umieszczane są nazwy istniejących tabel,
- w 2 arkuszu wypisywana jest tabela pracownicy,
- w 3 arkuszu tabela samochód,
- w 4 arkuszu pomieszanie wartości dwóch tabel.
Plik wymagany plik do poprawnego działania programu
Kompilator: Microsoft Excel
Baza danych: MySQL (własna baza danych stworzona w MySQL Workbench)
Kod programu:
Dim polaczenie As New ADODB.Connection
Dim komunikator As New ADODB.Recordset
Dim komunikator_2 As New ADODB.Recordset
Dim output As String
Sub wykonaj_dzialanie()
polaczenie.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=127.0.0.1; DATABASE=mydb; USER=root; PASSWORD=123; Option=3"
strQuery_show = "show tables"
strQuery_pracownik = "Select * from pracownik"
strQuery_samochod = "Select * from samochod"
komunikator.Open strQuery_show, polaczenie
Cells(1, 1) = "Lista tabel:"
i = 3
Do Until komunikator.EOF
output = komunikator.Fields(0)
Cells(i, 1) = output
komunikator.MoveNext
i = i + 1
Loop
komunikator.Close
komunikator.Open strQuery_pracownik, polaczenie
Sheets("Arkusz2").Cells(1, 1) = "Wypisanie tabeli pracownicy:"
i = 3
Sheets("Arkusz2").Cells(2, 1) = "Id:"
Sheets("Arkusz2").Cells(2, 2) = "Imię:"
Sheets("Arkusz2").Cells(2, 3) = "Nazwisko:"
Do Until komunikator.EOF
Sheets("Arkusz2").Cells(i, 1) = komunikator.Fields(0)
Sheets("Arkusz2").Cells(i, 2) = komunikator.Fields(1)
Sheets("Arkusz2").Cells(i, 3) = komunikator.Fields(2)
komunikator.MoveNext
i = i + 1
Loop
komunikator.Close
komunikator.Open strQuery_samochod, polaczenie
Sheets("Arkusz3").Cells(1, 1) = "Wypisanie tabeli samochód:"
i = 3
Sheets("Arkusz3").Cells(2, 1) = "Id:"
Sheets("Arkusz3").Cells(2, 2) = "Marka:"
Sheets("Arkusz3").Cells(2, 3) = "Rocznik:"
Do Until komunikator.EOF
Sheets("Arkusz3").Cells(i, 1) = komunikator.Fields(0)
Sheets("Arkusz3").Cells(i, 2) = komunikator.Fields(1)
Sheets("Arkusz3").Cells(i, 3) = komunikator.Fields(2)
komunikator.MoveNext
i = i + 1
Loop
komunikator.Close
Sheets.Add
Sheets(ActiveSheet.Name).Name = "Arkusz4"
Sheets("Arkusz4").Select
Sheets("Arkusz4").Move After:=Sheets(4)
Sheets("Arkusz4").Cells(1, 1) = "Dane tabel:"
Sheets("Arkusz4").Cells(2, 1) = "Imię:"
Sheets("Arkusz4").Cells(2, 2) = "Nazwisko:"
Sheets("Arkusz4").Cells(2, 3) = "Marka:"
Sheets("Arkusz4").Cells(2, 4) = "Rocznik:"
komunikator_2.Open strQuery_pracownik, polaczenie
komunikator.Open strQuery_samochod, polaczenie
i = 3
Do Until komunikator_2.EOF
Sheets("Arkusz4").Cells(i, 1) = komunikator_2.Fields(1)
Sheets("Arkusz4").Cells(i, 2) = komunikator_2.Fields(2)
komunikator.MoveFirst
Do Until komunikator.EOF
If komunikator_2.Fields(3) = komunikator.Fields(0) Then
Sheets("Arkusz4").Cells(i, 3) = komunikator.Fields(1)
Sheets("Arkusz4").Cells(i, 4) = komunikator.Fields(2)
End If
komunikator.MoveNext
Loop
komunikator_2.MoveNext
i = i + 1
Loop
komunikator.Close
komunikator_2.Close
polaczenie.Close
End Sub Bazy danych Microsoft Excel MySQL MySQL Workbench Program Visual Basic



