Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    spostamento record sottomaschera

    Salve ragazzi

    per favore:

    dal codice di una form Es form "madre" dovrei spostami all'ultimo record di una sottomaschera "figlia" ma chiaramente la sintassi DoCmd.GoToRecord , , acLast non va perche mi sposterebbe il record della maschera madre.

    mi potreste indicare quale la sintassi giusta?

    DoCmd.GoToRecord [madre]![figlia] , , acLast ??????
    questo non va

    grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Essendo un problema di VBA lo sposto sul forum VisualBasic e .NET Framework, dove viene trattato anche VBA.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    in realta la cosa e' un tantino piu complicata:

    quando vado ad inserire i record nella sottomaschera

    dovrei prima controllare se il codice articolo esiste, se esiste mi incrementa solo il campo quantita di questa sottomaschera, se non esiste mi aggiunge il record

    Il codice lo devo inserire nel controllo della maschera principale: provo a postarvi lo schifa di codice che ho io per rendere l'idea:

    Dim rst As DAO.Recordset
    Dim strR As String
    strR = Me.ricerca.Text
    Set rst = Nothing

    Set rst = Me.RecordsetClone
    rst.FindFirst "CodiceArticolo like """ & Me!ricerca.Text & "*"""
    Me.Bookmark = rst.Bookmark

    If (Me!ricerca.Text) = [Forms]![Banco].dettaglio![Articolo] Then
    [Forms]![Banco].dettaglio![Quantita] = [Forms]![Banco].dettaglio![Quantita] + 1
    [Forms]![Banco].dettaglio![unita] = [Forms]![Banco].dettaglio![Prezzo_Unitario] * [Forms]![Banco].dettaglio![Quantita]

    GoTo pippo

    End If

    If rst.NoMatch Or rst.BOF Then

    MsgBox "Voce non trovata nel database. Riprovare."
    ' DoCmd.GoToRecord , , acFirst
    Me!ricerca.SetFocus
    Me!ricerca = ""

    GoTo pippo

    Else

    If Not IsNull(Me!ricerca.Text) Then



    sql = "Insert into Dettaglio ([Codice Articolo],[Descrizione Prodotto],[Prezzo Unitario]) Values("
    sql = sql & "'" & rst.Fields("CodiceArticolo") & "',"
    sql = sql & "'" & Me.Descrizione_Prodotto & "',"
    sql = sql & Replace(Me.Pubblico, ",", ".") & ")"


    DoCmd.RunSQL (sql)

    ' Me.Refresh
    Me.ricerca.SetFocus
    End If
    End If


    Me.Refresh

    pippo:

    Me!ricerca = strR
    Me!ricerca.SetFocus
    Set rst = Nothing
    Me!ricerca = ""
    Me!ricerca.SelStart = 255 'Len(Me!Ricerca.Text)


    End Sub

  4. #4
    La cosa migliore sarebbe quello di inserire in questo codice un puntatore che mi trovi nella tabella dettaglio il contenuto del mio campo di ricerca "Ricerca.text" che di trova nella form principale; una volta trovato il record che corrisponde alla mia stringa cercata mi si posiziona sul quel record ed io poi lo modifica con quello che segue
    questo:
    [Forms]![Banco].dettaglio![Quantita] = [Forms]![Banco].dettaglio![Quantita] + 1
    [Forms]![Banco].dettaglio![unita] = [Forms]![Banco].dettaglio![Prezzo_Unitario] * [Forms]![Banco].dettaglio![Quantita]

    , se il record non esiste lo aggiunge semplicemente considerandolo uin nuovo articolo.

    sono riuscito a farvi capire qlcosa
    :master:

  5. #5
    tutto ok risolto questo problema

    Grazie uglualmente

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.