Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Uno-a-molti in access 2000

    Soliti problemi con le relazioni in un databse access, ho due tabelle:

    tabella_A = ID, Nome
    tabella_B = ID, Nome, Operazione

    la tabella_B registra (discriminando per ID) tutte le operazioni eseguite da quel determinato Nome della tabella_A.

    devo associare il campo ID della tabella_A con il campo Nome della tabella_B con relazione uno-a-molti ma quando al creo nel database mi viene restituito:

    'Espressione digitata non correttamente o troppo complessa per essere valutata... Semplificare assegnando parti dell'espressioni a variabili'

    che significa?

    Grazie

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    :gren:

    Se lo fai con le tabelle già piene può fallire....

    Comunque ID della tabella_B non deve essere chiave...
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da kalosjo
    :gren:

    Se lo fai con le tabelle già piene può fallire....

    Comunque ID della tabella_B non deve essere chiave...
    Grazie per il suggerimento, ma relazionando ID di tabella_A e nome di tabella_B (mettendo ID di tabella_B non chiave) non funziona...
    le tabelle sono semivuote...

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Ho capito....

    non puoi relazionare id e nome.......

    nella tabella b occorre un campo di relazione, che credevo fosse id

    quindi:

    Tabella_B
    ID (proprio, chiave primaria)
    ID_A (corrispondente id della tabella A)
    Nome
    Operazione

    a questo punto quando inserisci nella tabella B metti in
    ID un numero univoco
    ID_A l'ID della tabella A a cui si riferisce
    Nome e Operazione come da programma

    e relazioni ID della tabella_A con ID_A della tabella_B
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Grazie mille, risolto il problema della relazione... adesso però devo spostare in asp quanto detto ed ho scritto:

    codice:
    <% 
    pagina = request.servervariables("path_info") 
    id = request.querystring("id") 
    
    if len(id) > 0 and isnumeric(id) then 
    id = clng(id) 
    else 
    id = 0 
    end if 
    
    set conn = server.createobject("adodb.connection") 
    conn.open "DRIVER={Microsoft Access Driver (*.mdb)};" &_ 
    "DBQ="& Server.MapPath("lond.mdb") 
    
    sql = "select * from tabella_A order by Nome" 
    
    set rs = conn.execute(sql) 
    
    Function ConvertiData(data)
        giorno = Mid(data, InStr(1, data, "/") + 1, InStrRev(data, "/") - InStr(1, data, "/") - 1)
        mese = Left(data, InStr(1, data, "/") - 1)
        anno = Right(data, Len(data) - InStrRev(data, "/"))
        ConvertiData = giorno & "/" & mese & "/" & anno
    End Function
    
    
    if not rs.eof then 
    
    
    %> 
    <% do until rs.eof %> 
    <option value="<%=pagina%>?id=<%=rs("ID")%>"<% if rs("ID") = id then %> selected<% end if %>><%=rs("Nome")%></option> 
    <% 
    rs.movenext 
    loop 
    end if 
    %> 
    </select> 
    <% 
    rs.close 
    set rs = nothing 
    
    if ID > 0 then 
    
    sql = "select * from tabella_B where ID = " & ID 
    
    set rs = conn.execute(sql) 
    
    if not rs.eof then 
    
    DATA = ConvertiData(CStr(RS("DATA")))
    
    %> 
    <h1><%=rs("Nome")%></h1> 
    
    ID: <%=rs("Nome")%>
     
    Data: <%=DATA%>
    
      
     
    <% 
    end if 
    end if
    rs.close 
    set rs = nothing 
    
    end if 'fine if id > 0 then 
    conn.close 
    set conn = nothing 
    
    
    %>
    ma restituisce errore alla riga 84:
    Microsoft VBScript compilation error '800a0400'
    Expected statement
    codice:
    end if 'fine if id > 0 then
    se elimino la riga 84:
    Microsoft VBScript runtime error '800a01a8'
    Object required: 'rs'
    riga 81:
    codice:
    rs.close

  6. #6
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    end if 'fine if id > 0 then
    conn.close
    set conn = nothing

    Questo end if mi sembra di troppo.

  7. #7
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Altrimenti è di troppo il secondo end if alla riapertura del tag <%

  8. #8
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da Joe Taras
    end if 'fine if id > 0 then
    conn.close
    set conn = nothing

    Questo end if mi sembra di troppo.
    Infatti eliminadolo, restituisce:

    Microsoft VBScript runtime error '800a01a8'
    Object required: 'rs'
    riga 81:
    codice:
    rs.close

  9. #9
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    <%
    end if
    end if --> Questo è di troppo
    rs.close
    set rs = nothing

    end if 'fine if id > 0 then
    conn.close
    set conn = nothing


    %>

  10. #10
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    ok, grazie adesso non dà errore, ma non estrae nulla...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.