Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271

    Come inserire nel database

    Mi spiego meglio:
    In una text vado a caricarmi nel db tutti i tipi di strumento.
    Per cui nel database avrò una tabella Strumento con
    ID_Strumento a cui corrisponderà NomeStrumento
    1 Pinze
    2 Martello
    3 Chiavi
    4 Trapano

    Nello stesso form all'interno di una frame avrò
    una combo Pinze caricata dal database e qui non c'è problema

    Pinze
    Martello
    Chiavi
    Trapano


    Poi ho 3 text Marca, Modello, Serie .
    A questo punto cosa devo fare: PROBLEMA
    Io sono nel form seleziono ad esempio Pinze nella mia combo ed
    inserisco nelle text Marca,Modello,Serie invio il tutto nella seconda tabella
    COSA VORREI? CHE NEL CAMPO ID_Strumento ci fosse 1 cioè l' ID delle
    Pinze nella prima tabella? COME POSSO FARE?E CIOE' COME DEVO IMPOSTARE
    LA MIA INSERT ?

    tabelladettagli
    campi

    ID_Dettagli
    Marca
    Modello
    Serie
    ID_Strumento

  2. #2
    prova ad usare un DataCombo al posto di una semplice comboBox. i datacombo hanno la proprietà rowsource e datasource alle quali devi assegnare l'origine record; in più hanno la proprietà ListField = lista dei nomi visualizzati nella finestr combo e la proprietà BuondColumn = lista dell'id corrispondente a ciascun nome della lista. Quando selezioni dal datacombo un nome puoi leggere il corrispondente id utilizzando la proprietà BoundText. Tieni presente che l'id restituito è una stringa, quindi quando vai a salvarlo nella tb devi convertirlo in long: CLng(DataCombo.BoundText).

    Per inserire questi oggetti nel progetto devi andare sul menu progetto --> componenti --> Microsoft DataList Controls 6.0.

    spero di esserti stata utile.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Problema numero 1 come faccio a caricare la combo?Mi dà errore mi
    carica solo l'ultimo!!!!


    Dim dbRec As New ADODB.Recordset
    Dim dbConn As New ADODB.Connection
    Dim strConnectionString As String
    Dim strSQL As String

    g_strConnectionString = "maia"


    'Apro una connessione con il database
    dbConn.ConnectionString = g_strConnectionString

    dbConn.Open


    strSQL = "SELECT NomeStrumento FROM Strumenti "

    DoEvents
    Set dbRec = dbConn.Execute(strSQL)
    Do While dbRec.EOF = False
    ---------> DBcmbStrumento.BoundText=dbRec("NomeStrumento") ----->
    dbRec.MoveNext
    Loop
    dbRec.Close
    Set dbRec = Nothing
    dbConn.Close
    Set dbConn = Nothing

    End Sub




    Problema numero 2 una volta caricata la combo, seleziono un elemento
    della combo e riempio le text Marca,Modello,Serie
    Sull'evento click vado a salvare nel database.
    Problema: come vedete metto il contenuto delle mie text in delle
    variabili per la mia dbCombo devo fare così:
    iStrumento=DBcmbStrumento.BoundText;
    poi in strSQL che sotto ho dichiarato devo mettere la mia query
    di inserimento come devo fare la stringa? Questi vanno a finire in una stringa in questa tabella


    tabella nome: dettagli
    campi
    ID_Dettagli
    Marca
    Modello
    Serie
    ID_Strumento



    Private Sub cmdSalva_Click()
    Dim dbConn As New ADODB.Connection
    Dim strConnectionString As String
    Dim strSQL As String

    Dim iMarca,iModello,iSerie As String
    iMarca=txtMarca.textbox
    iModello=txtModello.textbox
    iSerie=txtSerie.textbox

    g_strConnectionString = "maia"
    'Apro una connessione con il database
    dbConn.ConnectionString = g_strConnectionString

    dbConn.Open
    DoEvents
    dbConn.Execute strSQL
    MsgBox ("Dati inseriti")
    dbConn.Close
    Set dbConn = Nothing

    End Sub

  4. #4
    intanto problema n. 1:
    per caricare la combo non fare

    Set dbRec = dbConn.Execute(strSQL)
    Do While dbRec.EOF = False
    DBcmbStrumento.BoundText=dbRec("NomeStrumento")
    dbRec.MoveNext
    Loop


    ma semplicemente


    Set dbRec = dbConn.Execute(strSQL)
    DBcmbStrumento.ListField = "NomeStrumento"

    una domanda: ma che db hai, access o sql?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    sql server

  6. #6
    allora forse le cose che ti ho detto non vanno bene. io non conosco sql server quindi non posso aiutarti, mi dispiace tanto...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    fai questo che sicuramente va bene

    allora spiegazione
    sul testo della combobox inserisci il nome del tuo atrezzo
    nell'itemdata inserisce il progressivo cosice facendo
    appena cliccki su un valore della combo hai a disposizione il codice associato

    rivate Sub Carica_Oggetto()

    On Error GoTo GestioneErrore:

    Source = "SELECT cod_partecipante,partecipante.descrizione as descrizione,tipo_partecipante.descrizione_tipo as tipo FROM partecipante,tipo_partecipante WHERE tipo_partecipante.cod_tipo = partecipante.cod_tipo order by descrizione"
    rs.Open Source, conn

    Me.CBB_Oggetto.Clear
    Do While rs.EOF = False

    Me.CBB_Oggetto.AddItem rs("descrizione") & " " & "(" & rs("tipo") & ")"
    Me.CBB_Oggetto.ItemData(CBB_Oggetto.NewIndex) = rs("cod_partecipante")

    rs.MoveNext

    Loop

    rs.Close
    Exit Sub
    GestioneErrore:

    Call Scrivi_Errore(Now, "Carica_oggetto", Err.Description)

    End Sub

  8. #8
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    In questa tabella devi fare un'altro campo

    prima tabella:Strumento
    campi
    ID_Strumento (che deve essere numerico)
    que_ID (che deve essere numerico)
    NomeStrumento (testo)

    sul form del vb devi avere una combo dove carichi gli attrezzi, se hai registrato pinze, dovrai avere, nella tabella strumento:
    ID_Strumento = 1
    que_ID = 1
    NomeStrumento = "Pinza speciale"

    Se registri ancora con attivato pinze nel comboBox, avrai:

    ID_Strumento = 2
    que_ID = 1 (perchè hai pinze nel ComboBox)
    NomeStrumento = "Pinza particolare"

    Se fai delle prove, non è detto che ID_Strumento si uguale a 1, ma potrebbe essere ugale a 19.
    Non ti preoccupare di questo anche se può sembrare strano, il db si ricorda che 19 sarà l'ID_Strumento del campo Pinze


    link
    homepage
    http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/
    software
    http://%77%77%77%2e%74%77%6f%72%6b%2...programmi.html
    forum
    http://%77%77%77%2e%74%77%6f%72%6b%2...um/default.asp

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 © 2024 vBulletin Solutions, Inc. All rights reserved.