Zapisywanie danych z tabeli msaccess do zmiennej

szanowni Forumowicze,
mam tabelę w msaccess:
samochod opel adam
motor honda NSS125
rower merida 26cali

za pomocą win32ole wrzucam to do zmiennej
zapytanie = connection.Execute(connection_string) gdzie connection_string to odpowiednie zapytanie SQL
do tej pory wszystko działa.
Ale nie wiem jak przekonwertować zapytanie w postać tabeli:
[
[samochod,opel,adam],
[motor,honda,NSS125],
[rower,merida,26cali]
]
czy maci jakiś pomysł?

M.

Nie napisales co chcesz osiagnac? przypisalo do zmiennej dobrze, masz tablice tablic 3 elementowych. Co chcesz z tym dalej zrobic?

potrzebuję później odwoływać się do tablicy i wyciągać z niej wartości poszczególnych komórek.
pojazd = tabela[0][0]
marka = tabela[0][1]
typ = tabela[0][2]

No to nie bardzo rozumiem bo juz wszytsko masz, pod jakas zmienna masz ta tablice. Na tablicy robisz iteracje np:

a = [[1,2,3], [4,5,6],[7,8,9]]
a.each do |row|
  row[0] # pojazd
  row[1] # marka
  row[2] # typ
end

i tyle

Wydaje mi się, że chodzi prawdopodobnie właśnie o to, jak przypisać wynik zapytania do zmiennej. Jeśli tak, to może się przydać recordset:
recordset = WIN32OLE.new('ADODB.Recordset') recordset.Open(sql, connection) data = recordset.GetRows.transpose
Tutaj więcej info: http://rubyonwindows.blogspot.com/2007/06/using-ruby-ado-to-work-with-ms-access.html

to chyba problem jest gdzie indziej. Może wynik zapytania nie jest tablicą?
Tabela w msaccess ma 3 pola: typ,skladnik, receptura i kilkadziesiąt rekordów. W wyniku zapytania poniżej otrzymuję kilkanaście rekordów.

def get_recep (symbol)
require ‘win32ole’
base_path = ‘D:\KATALOG_CEN\BAZA_SZAFEK\spf.mdb’

	connection = WIN32OLE.new('ADODB.Connection')
	
	if   File.exist?(base_path) then
	
       connection.Open("Provider=Microsoft.ACE.OlEDB.12.0;
						Data Source=#{ base_path }") 
		connection_string ="Select typ,skladnik, receptura from receptury where typ = '#{ symbol }'"
		zapytanie = connection.Execute(connection_string)
			
			if zapytanie.eof then
                wynik = 'pudlo!'
			else  
          
				
                zapytanie.each do |wynik_0|
							       UI.messagebox(wynik_0[0])
                               end
               
			end
			
		connection.Close								
	else
			wynik = 'Brak bazy!'
	end

return wynik
end
UI.messagebox(get_recep(‘gospodarcza agd’))

Dziękuje, działa. Skróciłeś moje męki…:wink: