Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: invia dati a record

  1. #1

    invia dati a record

    ciauz ! ho scoperto adesso che sbagliavo forum
    spero che adesso qualcuno mi risponda :bubu:
    chi mi può dare un aiutino??
    Access 2000 - ho 3 campi di testo Magazzino - Prodotto - quantità.
    una volta che ho riempito questi campi un pulsante dovrebbe inviare i dati prodotto e quantità alla tabella magazzino in un nuovo record.
    per complicare il tutto ovviamente il magazzino è varibile quindi in base al suo valore ( mag1, mag2, mag3) dovrà aprire la corrispondente tabella!

    spero di essermi spiegato

    grazie spero nel vstro help
    lupoezechiele

  2. #2
    vuoi il codice o sapere come fare?

    Il come fare è facile:
    Apri il db;
    Verifichi l'inpute dell'utente per la scelta del magazzino e lo metti in una variabile che contiene gia il nome della tabella;
    Apri il recordset includendo nella stringa sql la variabile del magazzino;
    Recordset.AddNew
    Imposti i campi con RS("prodotto").Value=txtprodotto.text e con RS("quantita").Value=txtquantita.text
    aggiorni il recordset con rs.updatre
    e lo chiudi con rs.close

    IL GIOCO E' FATTO!

    Ciao
    Alex

  3. #3

    ehm

    no io intendevo il codice, sono solo uno smanettone
    quindi leggendo quel che mi hai detto non cio' capito nulla!

    io arrivo in un punto dove ho :
    ____________________________________________
    Private Sub CasellaCombinata25_AfterUpdate()
    ' Trova il record corrispondente al controllo
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[prodotto] = '" & Me![CasellaCombinata25] & "'"
    Me.Bookmark = rs.Bookmark
    Testo33 = CasellaCombinata25.Value
    End Sub
    ____________________________________________

    (La semplicità del codice rende l'idea della mia ignoranza)

    con il codice sopra ottengo :
    Testo33 = CasellaCombinata25.Value
    Testo34 = CasellaCombinata25.Value
    Testo35 = CasellaCombinata25.Value

    ora dovrei inviare quel il valore di Testo33,34,35 ad un nuovo record della tabella x rispettivamente nel campo prodotto,quantità,fornitore.


    :master:
    lupoezechiele

  4. #4

    Re: ehm

    Originariamente inviato da lupoezechiele
    no io intendevo il codice, sono solo uno smanettone
    quindi leggendo quel che mi hai detto non cio' capito nulla!

    io arrivo in un punto dove ho :
    ____________________________________________
    Private Sub CasellaCombinata25_AfterUpdate()
    ' Trova il record corrispondente al controllo
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[prodotto] = '" & Me![CasellaCombinata25] & "'"
    Me.Bookmark = rs.Bookmark
    Testo33 = CasellaCombinata25.Value
    End Sub
    ____________________________________________

    (La semplicità del codice rende l'idea della mia ignoranza)

    con il codice sopra ottengo :
    Testo33 = CasellaCombinata25.Value
    Testo34 = CasellaCombinata25.Value
    Testo35 = CasellaCombinata25.Value


    ora dovrei inviare quel il valore di Testo33,34,35 ad un nuovo record della tabella x rispettivamente nel campo prodotto,quantità,fornitore.


    :master:
    secondo me non ottieni quello ma solo testo33=casellacombinata25.value

    Ok. Per me cmq tutto quel codice ke hai è un po incasinato e non ti serve se devi inserire un NUOVO record.

    cmq per quello che ho capito io, ti codifico quello che ti avevo detto prima.

    nella sub del bottone_click che usi per aggiungere il record ci scrivi questo tenendo conto che con cbo indico la casella combinata che contiene le tabelle magazzino tra cui scegliere e testo33,34,35 sono i relativi campi
    codice:
    'supponendo che sia gia aperta una connessione pubblica chiamata conn
    dim rs as new adodb.recordset
    dim sql as string="SELECT * FROM " &  cbo.text
    rs.open sql,conn,3,3
    rs.addnew
    rs("campo33").value=testo33.text
    rs("campo34").value=testo34.text
    rs("campo35").value=testo33.text
    
    rs.update
    rs.close
    rs=nothing

    Spero di esserti stato utile!
    Alex

  5. #5

    keppaura!

    ci studio un poco sopra e ti faccio sapere,
    grazie
    lupoezechiele

  6. #6

    dunque...

    sono riuscito a ottenere il risultato!
    ma abbi pietà non ho usato il tuo codice perchè sono un po' tardo e non lo ho capito!
    però mi ha indirizzato ed è per questo che ti chiedo uno step more:
    (però non mi dire che me lo hai già spiegato!!)

    io ho 5 maschere magazzino m1,m2,m3,m4,m5 property m1.isible=false
    m2.Visible=False m3... .
    un casella di riepilogo a discesa elenca i magazzini disponibili
    se seleziono da questa il nome m1 ,
    avro' variabile Damagazzino= casella di riepilogo.value
    ora in qualche modo damagazzino deve rendere visible la tabella con lo stesso nome

    + facile a farsi che a spiegarsi
    lupoezechiele

  7. #7
    Imposti la proprietà tag di ogni maschera con il proprio nome Es. m1.tag="m1" ecc... questo lo puoi fare dalla finestraa proprietà.

    poi, insersici subito dopo il codice Damagazzino=casella di riepilogo.value il seguente codice

    codice:
    dim ctrl as control
    for each ctrl in MASCHERA_PRINCIPALE
       select case ctrl.tag
    
       case=""
          m1.visible=TRUE
          m2.visible=false
          m3.visible=false
          .
          .
    
       case="m2"
          m1.visible=false
          m2.visible=TRUE
          m3.visible=false
    
          .
          .
    
       end select
    Questo è il codice per vb5 o 6 (insomma quello di Access) spero abbia inteso bene!

    CIAO
    Alex

  8. #8

    mitico

    stasera ci prova e ti aggiorno!
    lupoezechiele

  9. #9

    ho rosikato!

    mi son reso conto che in quel modo non va bene,
    giustamento io ti ho dato un esempio con 5 magazzini !
    ma la mia realtà e di 18 magazzini e potrebbero aumentare,
    quindi per non dover mettere sempre mano al codice mi servirebbe una cosa del genere:

    miamaschera.visible= true

    'dove miamaschera è una variabile che cambia a seconda del valore di un'altra casella.

    ho provato con : maschera= casellacombinatax.value
    miamaschera= maschera & ".visible=true"
    eval miamaschera

    ' ma nulla , se blocco l'esecuzione in pausa maschera mi da il valore giusto "ristorante" ma poi non mi esegue l'istruzione ?
    lupoezechiele

  10. #10
    La osluzione x te sarebbe il .NET ma Access è solo in VB5...

    SORRY
    Alex

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.