Prenotazioni posti

di il
53 risposte

Prenotazioni posti

Salve a tutti
Sto creando un db di gestione di un teatro e avrei un problema. Ho creato una tabella "posti" con un campo "posto prenotato" si/no a seconda dell'id dell'utente. Ho creaato poi la maschera dalla query "posti disponibili in una determinata data". La maschera parte ed ho messo un comando "prenota" che vorrei che al click mi permetta di prenotare il posto scelto (praticamente nella tabella "posti", il relativo id del "posto prenotato" deve passare da no a si). Mi dire il codice VBA da usare nel comando click?

Grazie mille in anticipo

53 Risposte

  • Re: Prenotazioni posti

    Benvenuto nel forum.

    asteraster ha scritto:


    Ho creato una tabella "posti" con un campo "posto prenotato" si/no a seconda dell'id dell'utente
    In base a quale criterio di IDUtente tu stabilisci che un posto è prenotato? Perchè?

    Almeno per me che sono duro di comprendonio, potresti fornire lo scenario completo, ossia:
    - nomi propri di tutte le tabelle che entrano in gioco
    - nomi propri dei campi di tutte le tabelle (almeno quelli più significativi), con indicazione della chiave primaria
    - le relazioni
    - rispiega cosa vuoi fare usando i nomi propri

    asteraster ha scritto:


    Mi dite il codice VBA da usare nel comando click?
    Pappa pronta? Hai letto il regolamento del forum?
  • Re: Prenotazioni posti

    Non è pappa pronta ho lavorato fino a quì da solo e mi sono bloccato in questo punto. Non ti ho mica chiesto di farmi tutto il database, volevo solo un aiuto anche perchè per i dati che vi ho fornito è impossibile scrivere il codice vba perfetto da "copia e incolla". Grazie comunque
  • Re: Prenotazioni posti

    OsvaldoLaviosa ha scritto:


    Almeno per me che sono duro di comprendonio, potresti fornire lo scenario completo, ossia:
    - nomi propri di tutte le tabelle che entrano in gioco
    - nomi propri dei campi di tutte le tabelle (almeno quelli più significativi), con indicazione della chiave primaria
    - le relazioni
    - rispiega cosa vuoi fare usando i nomi propri

    asteraster ha scritto:


    Non ti ho mica chiesto di farmi tutto il database, volevo solo un aiuto
    Se ti ho fatto quella domanda è per inquadrare coerentemente un discorso che non è chiaro come lo hai descritto.
  • Re: Prenotazioni posti

    "Pappa pronta? Hai letto il regolamento del forum?"

    Faccio da solo tranquillo, grazie comunque (y)
  • Re: Prenotazioni posti

    asteraster ha scritto:


    Salve a tutti
    Sto creando un db di gestione di un teatro e avrei un problema. Ho creato una tabella "posti" con un campo "posto prenotato" si/no a seconda dell'id dell'utente. Ho creaato poi la maschera dalla query "posti disponibili in una determinata data". La maschera parte ed ho messo un comando "prenota" che vorrei che al click mi permetta di prenotare il posto scelto (praticamente nella tabella "posti", il relativo id del "posto prenotato" deve passare da no a si). Mi dire il codice VBA da usare nel comando click?

    Grazie mille in anticipo
    Senza fare gli offesi o altro... se vuoi provare a fare qualche cosa e sottoporlo al Forum per capire dove sbagli o per avere suggerimenti, sei il benvenuto, noi di nostro non possiamo fare altro se non ci aiuti...!
  • Re: Prenotazioni posti

    Praticamente ho creato una maschera di login dove l'utente inserendo le proprie credenziali possa ritrovarsi sulla propria pagina personale. Da questa c'è un collegamento ad una maschera dove, inserendo il nome dello spettacolo interessato, si possano vedere i posti disponibili (esiste quindi una tabella "posti" con un campo booleano "posto prenotato =si/no, un campo id utente, un campo id abbonamento e un campo id spettacolo). Accanto ai posti disponibili ci sarà il tasto prenota posto che al click mi permetterà di prenotare il posto e quindi aggiornare la tabella "posti" facendo diventare "si" il relativo campo "posto prenotato" con il rispettivo utente e l'id dello spettacolo. Sto avendo difficoltà nel vba da inserire nel tasto "prenota"
  • Re: Prenotazioni posti

    Private Sub CmdPrenota_Click()
    Dim Res As VbMsgBoxResult
    Dim SqlAppend As String


    Messaggio = Messaggio & "al corso " & Me.NOME & " del " & Me.DATA & "?"
    Res = MsgBox(Messaggio, vbYesNo, "Registrazione")

    If Res = vbYes Then
    SqlAppend = "INSERT INTO posti ([ID UTENTE], [ID spettacolo], [DATA inizio])"

    SqlAppend = SqlAppend & " VALUES (" & Utente & ", " & ID & ", " & Format(Date, "\#mm\/dd\/yyyy\#") & ", "
    'SqlAppend = SqlAppend & " VALUES (" & Utente & ", " & ID & ", #" & Date & "#, "
    'SqlAppend = SqlAppend & TipoPr & ", #" & Me.Data & "#, #" & Me.ORARIO & "#)"
    SqlAppend = SqlAppend & TipoPr & ", " & Format(Me.DATA, "\#mm\/dd\/yyyy\#") & ", #" & Me.ORARIO & "#)"

    End If

    End Sub
  • Re: Prenotazioni posti

    Avevo provato a fare in questo modo...però al click non succede niente
  • Re: Prenotazioni posti

    Buonasera Asteraster. Non é vero che il tuo codice non fa nulla... Quando clicchi sul pulsante dovrebbe farti apparire un mesgbox SiNo e se premi "Si" ti memorizza in una variabile stringa denominata SqlAppend del testo che più o meno (più Meno che più) dovrebbe rappresentare del codice SQL... Il problema secondo me non è tanto nel sorprendersi che il pulsante non faccia nulla nel momento in cui premi Si ma è il cosa deve fare con la variabile SqlAppend una volta valorizzata... Tu cosa vorresti farne?
  • Re: Prenotazioni posti

    Appunto per questo mi sorprendo..non mi dice nulla, neanche una ipotetica schermata di errore.
    Comunque il codice sql dovrebbe aggiornare la tabella posti inserendo il rispettivo "id utente" della persona che effettua la prenotazione, "ID spettaccolo" dello spettacolo cui si è prenotato il posto e cambiare automaticamente il campo "posto prenotato" da no ( in quanto, appunto, il posto è libero) a si (in quanto diventerebbe occupato).

    Grazie per la risposta
  • Re: Prenotazioni posti

    Sono riuscito a far comparire il messaggio, solo che ora non mi funziona il codice per la prenotazione come ti dicevo sopra
  • Re: Prenotazioni posti

    Private Sub Comando7_Click()
    Dim Res As VbMsgBoxResult
    Dim Condizione, Messaggio As String
    Dim SqlAppend As String
    Dim NOME As String


    Messaggio = "Vuoi prenotarti "



    Messaggio = Messaggio & "alla fila " & Me.NOME & " posto " & Me.POSTO & "?"
    Res = MsgBox(Messaggio, vbYesNo, "Registrazione")

    If Res = vbYes Then
    SqlAppend = "INSERT INTO posti ([ID UTENTE], [ID spettacolo], [DATA inizio], [posto prenotato])"

    SqlAppend = SqlAppend & " VALUES (" & Utente & ", " & ID & ", " & Format(Date, "\#mm\/dd\/yyyy\#") & ", "
    SqlAppend = SqlAppend & TipoPr & ", " & Format(Me.NOME, "\#mm\/dd\/yyyy\#") & ", #" & Me.POSTO & "#)"
    Debug.Print SqlAppend
    DoCmd.SetWarnings False
    DoCmd.RunSQL (SqlAppend) (MI DA ERRORE QUà]
    DoCmd.SetWarnings True
    On Error Resume Next
    Me.Requery

    End If
    End Sub

    mI DICE CHE C'è UN ERRORE SUL COMANDO "INSERT INTO"
  • Re: Prenotazioni posti

    Bravo. Infatti volevo farti notare che nel codice mancava la parte esecutiva ovvero il DoCmd.RunSQL... ci sei arrivato da solo!

    l'errore te lo da perché con ogni probabilità il predicato SQL è errato.
    In questi casi ti suggerisco di usare il comando VBA "debug.print SqlAppend" per vedere effettivamente come viene composta sa stringa SQL nel codice poi, con un copia e incolla, prova a creare una query manualmente con quel predicato (in visualizzazione struttura e poi visualizza SQL) e vedrai che anche li avrai l'errore... A questo punto potrai correggerla e di conseguenza apportare anche le conseguenti modifiche al codice affinché venga generata correttamente anche nel VBA
  • Re: Prenotazioni posti

    Ti ringrazio ancora per l'aiuto ma purtroppo ancora non mi parte. Tu, così alla cieca, come lo scriveresti? ahahhaha
Devi accedere o registrarti per scrivere nel forum
53 risposte