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

    VBA fare un accodamento

    non so se è la sezione giusta, ma comunque è visual basic, ho fatto questo codice:

    codice:
    Option Compare Database
    
    '------------------------------------------------------------
    ' Macro1
    '
    '------------------------------------------------------------
    Function Macro1()
    On Error GoTo Macro1_Err
    
        DoCmd.OpenQuery "Selezione record voluti", acViewNormal, acEdit
        DoCmd.OpenQuery "SalvataggioRisultatoQueryInTabella", acViewNormal, acEdit
        Dim io As Integer
        io = [Forms]![NuovoProgetto]![Numero progetto]
        DoCmd.Rename io, acTable, "PROGETTO"
    
    Macro1_Exit:
        Exit Function
    
    Macro1_Err:
        MsgBox Error$
        Resume Macro1_Exit
    
    End Function
    praticamente mi esegue una query che mi seleziona i record da me scelti in una maschera ed esegue la seconda query che mi crea una tabella contenente la selezione della prima query dopodichè rinomino questa tabella con il numero del progetto prendendolo da quello inserito nella maschera, ora io avrei bisogno di fare un if che non saprei come fare per dire al programma quando dopo aver generato la tabella la rinomina che se la tabella con quel nome esiste gia allora accodo quella nuova facendola diventare una sola, mentre invece se non esiste allora la creo, io ho pensato a una cosa simile

    codice:
     If io = io Then
        strSql = "SELECT io.* UNION io.* FROM io"
        End If
    ma ovviamente non mi funziona, qualcuno ha un idea? spero sia la sezione giusta dato che di vb si tratta >.<

  2. #2
    nessuno ha un idea??

  3. #3
    UP io ho fatto questa funzione che mi dice se la tabella esiste o no

    codice:
    Function fctTableExists(strTableName As String) As Boolean
    
      If DCount("*", "MSysObjects", "Name='" & strTableName & "'") Then
      fctTableExists = True
      End If
    End Function
    
    Sub tabellaEsiste()
    Dim io As String
    io = [Forms]![NuovoProgetto]![Numero progetto]
    If fctTableExists(io) Then
      MsgBox ("la tabella esiste")
      Else
      MsgBox ("la tabella non esiste")
      End If
    End Sub
    ma come faccio a dire se la tabella esiste allora accoda la selezione fatta nella maschera con la query?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    il consiglio che posso darti e' di scrivere qua : [edited]

    su questi argomenti ce gente molto competente che sicuramente ti aiutera.

    ps
    postare in un altro forum una domanda alla quale dopo tempo non ottieni risposta non e' crosspost. Almeno cosi ho letto su qualche regolamento

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

    Moderazione

    Originariamente inviato da mydb
    ps
    postare in un altro forum una domanda alla quale dopo tempo non ottieni risposta non e' crosspost. Almeno cosi ho letto su qualche regolamento
    Non è nemmeno bello che qualcuno inviti la gente ad andare verso altri lidi.

    Ti piacerebbe avere un ristorante e qualcuno che consiglia ai tuoi clienti di andare al ristorante all'angolo?

    Per favore, astieniti da questa pessima pratica... noi non siamo contro la ricerca personale su altri network (cosa che, al contrario, il network dove stai indirizzando l'utente vieta espressamente), ma da qui all'incoraggiare la gente a postare altrove ce ne passa.

    PS: anche qui c'è tanta gente in gamba... che probabilmente nel weekend ha altro a cui pensare e consigliare alla gente di andare altrove dopo nemmeno 2 giorni (di weekend, appunto), non mi sembra un'ottima scusante.


    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287

    Re: Moderazione

    Originariamente inviato da LeleFT
    Non è nemmeno bello che qualcuno inviti la gente ad andare verso altri lidi.

    Ti piacerebbe avere un ristorante e qualcuno che consiglia ai tuoi clienti di andare al ristorante all'angolo?

    Per favore, astieniti da questa pessima pratica... noi non siamo contro la ricerca personale su altri network (cosa che, al contrario, il network dove stai indirizzando l'utente vieta espressamente), ma da qui all'incoraggiare la gente a postare altrove ce ne passa.


    Ciao.
    hai ragione. Lo vedevo un po disperato e mi sono permesso.

    scusami

  7. #7
    CE L'HO FATTA 15 query e ho risolto con il mio solo ingegno

    codice:
    Option Compare Database
    Function fctTableExists(strTableName As String) As Boolean
    
      If DCount("*", "MSysObjects", "Name='" & strTableName & "'") Then
      fctTableExists = True
      End If
    End Function
    Private Sub Comando25_Click()
    Dim io As String
    io = [Forms]![NuovoProgetto]![Numero progetto]
    If fctTableExists(io) Then
      MsgBox ("la tabella esiste")
       DoCmd.OpenQuery "Selezione record voluti", acViewNormal, acEdit
       DoCmd.OpenQuery "QueryTempo", acViewNormal, acEdit
       DoCmd.OpenQuery "RisultatoAccodamentoInTabella", acViewNormal, acEdit
       Dim x As Integer
        x = [Forms]![NuovoProgetto]![Numero progetto]
        DoCmd.Rename x, acTable, "ME"
      Else
      MsgBox ("la tabella non esiste")
      End If
    End Sub
    praticamente se interessa, ho creato con un primo bottone una tabella temporanea e l'ho chiamata TE che prende il risultato della selezione fatta nella maschera quindi a questo punto un'altra query salva il contenuto di te in un'altra tabella e la rinomina con il nuemro del progettio preso dalla maschera, con il secondo bottone dopo aver preso la selezione dalla query EsecuzioneSelezioneMaschera, a questo punto ogni successiva selezione viene accodata in te e viene copiata in un'altra tabella che poi a sua volta viene rinominata, così ho una tabella temporanea TE dove vengono accodate tutte le mie scelte e la tabella finale con il numero del progetto viene ogni volta sovrascritta dal risultato dell'accodamento TE è perfetto

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