Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: SQL ciąg dalszy
enzo_molinari
początkujący VBEK




Typ: neutral
Postów: 15
Zarejestrowany: Apr 2005
SQL ciąg dalszy

pzry pomocy ostatnio łykniętych informacji z tego forum utworzyłem sobie wreszcie programik VB do zapytań SQL. stwierdzam niestety, że podczas użycia niektórych zapytań baza generuje mi błąd zamiast odpowiedzieć.  mp. dzieje się tak w zapytaniu>>
desc nazwa_tabeli
które powinno zwrócić nazwy wszystkich pól tabeli
programy do SQL-a łykają to zapytanie a mój nie... DLACZEGO??

16-04-2005 07:46
Pokaż profil enzo_molinari  Wyślij email do enzo_molinari        766580
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Enzo
Przyznam szczerze, że nie rozumiem pytania, bo według mojej wiedzy:

Sposób sortowania określa słowo ASC (ascending - narastająco) lub DESC (descending -malejąco)

użyte np w takim zapytaniu:

"SELECT Identyfikator, nazwisko, imie From tblkaro ORDER BY nazwisko DESC;"

więc nie wiem jaka jest pełna treść Twojego zapytania SQL ?


_____________________________________________
Karolina

16-04-2005 08:13
Pokaż profil karolinavb  Wyślij email do karolinavb   
enzo_molinari
początkujący VBEK




Typ: neutral
Postów: 15
Zarejestrowany: Apr 2005

ja - biedny miś - w ten sposób pytałem bazę o nazwy kolumn w niej zawartych, ale może ktoś zna lepszy sposób aby dowiedzieć się jakie są w niej kolumny, tabele etc. W goldenie np. program sam po podłączeniu do bazy pokazuje jej strukturę co  jest ogromnie przydatne, bo musisz wiedzieć jak nazywa się tabela i jakie ma pola aby zadać pytanie. Chciałbym tak zrobić we własnym programie.

16-04-2005 08:50
Pokaż profil enzo_molinari  Wyślij email do enzo_molinari        766580
enzo_molinari
początkujący VBEK




Typ: neutral
Postów: 15
Zarejestrowany: Apr 2005

słowo asc lub desc może być użyte również w zapytaniu

desc nazwa_tabeli i odpowiedzią będą nazwy wszystkich pól tabeli posortowane malejąco

16-04-2005 08:52
Pokaż profil enzo_molinari  Wyślij email do enzo_molinari        766580
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Nie  wiem czy używasz DAO czy ADO

lista tabel:

- trzeba mieć uprawnienia
SELECT MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.Type)=1) AND ((MSysObjects.Flags)=0));

lista pól wszystkich tabel DAO (bez systemowych)

Sub xxxx()
Dim i As Integer
    Dim j As Integer

    On Error Resume Next

    For i = 0 To CurrentDb.TableDefs.Count - 1
    If left(CurrentDb.TableDefs(i).Name, 4) <> "MSys" Then
        For j = 0 To CurrentDb.TableDefs(i).Fields.Count - 1
                      Debug.Print CurrentDb.TableDefs(i).Name & " - " & _
                    CurrentDb.TableDefs(i).Fields(j).Name
        Next j
    End If
    Next i
End Sub

Jeśli ADO to obiekty biblioteki ADOX, kolekcja Tables, np tak (Referencje do Microsoft Ado Ext.2.X DDL and Security Library)

Sub yyyy()
Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog
Dim intCount As Integer
Dim tbl As New ADOX.Table
Dim intColCount As Integer
   
'    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
'            "Data Source= C:New.mdb;"
' Set cat.ActiveConnection = cnn
' lub tak
    Set cat.ActiveConnection = CurrentProject.Connection
   
    intCount = cat.Tables.Count
    Debug.Print cat.Tables.Count
   
    Do While intCount > 0
        intCount = intCount - 1
        Select Case True
            Case cat.Tables(intCount).Type = "TABLE"
                Debug.Print cat.Tables(intCount).Type & " " & cat.Tables(intCount).Name
                    Set tbl = cat.Tables(intCount)
                    intColCount = cat.Tables(intCount).Columns.Count
                                                             
                    Debug.Print intColCount & " Fields"
                    Do While intColCount > 0
                        intColCount = intColCount - 1
                        Debug.Print "      " & intColCount & "    " & tbl.Columns(intColCount).Name
                        Debug.Print "      " & tbl.Columns(intColCount).Type
                    Loop
            Case cat.Tables(intCount).Type = "VIEW"
                'Debug.Print cat.Tables(intCount).Type & " " & cat.Tables(intCount).Name
        End Select
    Loop

End Sub


P.S. Nie znam wymienionej przez Ciebie komendy, mógłbyś podać źródło informacji

[Post edytowany dnia 16-04-2005 10:46 przez karolinavb]


_____________________________________________
Karolina

16-04-2005 10:31
Pokaż profil karolinavb  Wyślij email do karolinavb   
enzo_molinari
początkujący VBEK




Typ: neutral
Postów: 15
Zarejestrowany: Apr 2005

Dzięki Karolino!
Jesteś the best!

źródłem jest srypt SQL Oracle w poniedziałem podam ci szczegóły bo mam go w pracy...

16-04-2005 10:56
Pokaż profil enzo_molinari  Wyślij email do enzo_molinari        766580
Wszystkich odpowiedzi: 5 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1