Avatar billede buha Nybegynder
21. februar 2002 - 18:05 Der er 18 kommentarer og
1 løsning

For each

Hej jeg vil gerne.. prøve dette.

Min database:
id bruger f_asp_2 f_asp_3 f_stylesheet_2 (der er mange og der bliver flere og flere hele tiden!!!)

HVordan select jeg alle tabel med f_ som de to første bogstaver...

kan man bruge for each with name f_ eller sådan noget!!!???
Avatar billede isl19960 Nybegynder
21. februar 2002 - 18:11 #1
SELECT * FROM Persons WHERE FirstName LIKE 'O%'

Vælger alle poster hvor der i feltet 'firstname' er begyndelsesbogstavet O

I dit tilfælde vil det være...  LIKE 'f_%'
Avatar billede isl19960 Nybegynder
21. februar 2002 - 18:13 #2
hmmm... nu jeg læser dit spørgsmål igen... så var det måske tables du ville gøre det på - korrekt ?
Avatar billede grunken Nybegynder
21. februar 2002 - 18:13 #3
isl tror at det er hele tabeller eller kolonner han taler, jeg er balank så lytter lige med !
Avatar billede isl19960 Nybegynder
21. februar 2002 - 18:23 #4
Hvis du kender alle dine tabel-navne, kunne du oprette et array som du løber igennem...
Avatar billede isl19960 Nybegynder
21. februar 2002 - 18:25 #5
Jeg tror ikke at du kan gøre det i eet hug - altså bruge et wildcard i FROM-delen. Jeg kan ihvertfald ikke se det beskrevet nogen steder... :)
Avatar billede fet321 Nybegynder
21. februar 2002 - 19:15 #6
Umiddelbart lyder det som om at du vil et eller andet ala

SELECT * FROM f_%

Det tror jeg sgisme ikke du kan ;-)
Avatar billede buha Nybegynder
21. februar 2002 - 19:51 #7
isl19960 --> tror jeg virker, men hvad med for each ... hvad skal jeg skrive som streng?? rs?
Avatar billede Slettet bruger
21. februar 2002 - 20:33 #8
Jeg har lige skrevet følgende kode, som forhåbentlig kan gøre det du ønsker (formoder at du anvender en Access database). De tabelnavne, der starter med f_ bliver lagt i tabellen arTables.

<%
Dim rs, Conn, DSN, strTables, arTables

Const adSchemaTables = 20

Set rs = Server.CreateObject("ADODB.Recordset")
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

Set rs = Conn.OpenSchema(adSchemaTables)

Do Until rs.EOF
    If Left(rs("TABLE_NAME"), 2) = "f_" AND rs("TABLE_TYPE") = "TABLE" Then
        strTables = strTables & rs("TABLE_NAME") & ","
    End If
rs.MoveNext
Loop

If Len(strTables) >= 1 Then
    strTables = Left(strTables, Len(strTables)-1)
End If

arTables = Split(strTables, ",")

For t = 0 To UBound(arTables)
    Response.Write arTables(t) & "<br>"
Next

%>
Avatar billede buha Nybegynder
21. februar 2002 - 20:58 #9
Magik DEt hviser kun f_ ikke f_g og f_d???
Avatar billede Slettet bruger
21. februar 2002 - 21:00 #10
Koden skulle meget gerne udvælge alle tabeller der starter med f_, og dermed skulle f_g og f_d også være med.

Har du testet det?
Avatar billede buha Nybegynder
21. februar 2002 - 21:01 #11
Magik det er kun tabelnavne jeg snakke om:
Når jeg åbner min database:
nyheder
bruger

Under bruger er det sådan ud:
id bruger f_asp_erer f_asp_12 f_stylesheet

Den skal tage fra bruger og select ALLE som f_ som fornavn!! hjælp!`???
Avatar billede Slettet bruger
21. februar 2002 - 21:03 #12
Det må du undskylde så :/

Men i dit oprindelige spm står der: "HVordan select jeg alle tabel med f_ som de to første bogstaver..."

Men du vil have valgt de feltnavne i tabellen "bruger", der starter med f_ i stedet.
Avatar billede buha Nybegynder
21. februar 2002 - 21:06 #13
undskyld jeg har lige læst!!min fejl havde skrevet forkert...

undskyld jeg er lidt rundt på gluvet!
Avatar billede buha Nybegynder
21. februar 2002 - 21:07 #14
kan du det der??
Avatar billede fet321 Nybegynder
21. februar 2002 - 21:17 #15
øøøh
er der ikke et eller andet helt galt med db og kode opbygning hvis brugerne bare kan blive ved med at oprette nye kolonner i den samme tabel?
Avatar billede buha Nybegynder
21. februar 2002 - 21:21 #16
fet321 du forstår ikke:
id bruger Så kan man oprette f_ kolener!!
Avatar billede Slettet bruger
21. februar 2002 - 21:24 #17
Så skulle den være der :)
Fremgangsmåden er næsten den samme som sidst: arFields indeholder de feltnavne i tabellen "bruger", der indeholder f_ i starten af navnet.

<%
Dim Conn, DSN, rs, count, strFields, arFields

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open "bruger", Conn

For count = 0 To RS.Fields.Count-1
    If LCase(Left(RS.Fields(count).Name, 2)) = "f_" Then
        strFields = strFields & RS.Fields(count).Name & ","
    End If
Next

RS.Close
Conn.Close

Set rs = Nothing
Set Conn = Nothing

If Len(strFields) >= 1 Then
    strFields = Left(strFields, Len(strFields)-1)
End If

arFields = Split(strFields, ",")

For t = 0 To UBound(arFields)
    Response.Write arFields(t) & "<br>"
Next
%>
Avatar billede buha Nybegynder
21. februar 2002 - 21:47 #18
tusind tak magik!!!
Avatar billede Slettet bruger
22. februar 2002 - 10:34 #19
det var da så lidt - glad for at du kunne bruge det :)

tak for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester