Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585

    Aggiungere esecuzione query

    Ciao a Tutti,

    ho il seguente problema:

    nella mia pagina ASP eseguo nel seguente modo una query, che si chiama sql3, che funziona benissimo !!!

    Dim cmd, cn, sql3

    Set cn = Server.CreateObject("ADODB.Connection")
    cn.ConnectionString = "DSN=4_plan.dsn"
    cn.Open
    '
    sql3 = "INSERT INTO t_mrg_pl " & _
    "SELECT t_mrg.Numero, First(t_mrg.Activity) AS Activity, " & _
    "First(t_mrg.Obbligation_1) AS Obbligation_1, " & _
    "First(t_mrg.Obbligation_2) AS Obbligation_2, " & _
    "First(t_mrg.Obbligation_3) AS Obbligation_3, " & _
    "First(t_mrg.Obbligation_4) AS Obbligation_4, " & _
    ...........
    "First(t_plan.Note_823) AS Note_823, " & _
    ..................
    "First(t_plan.Panel_71) AS Panel_71, First(t_mrg.Deliverables) AS Panel_72, " & _
    "First(t_plan.Rem_16) AS Rem_16, First(t_plan.Rem_17) AS Rem_17, " & _
    "First(t_plan.Rem_18) AS Rem_18 " & _
    "FROM t_mrg, t_plan " & _
    "GROUP BY t_mrg.Numero " & _
    "HAVING ((t_mrg.Numero Not In (SELECT t_mrg_pl.Numero FROM t_mrg_pl)) AND ... );"
    '
    Set cmd=CreateObject("adodb.command")
    With cmd
    Set .ActiveConnection = cn
    .CommandType=1 'adCmdText
    .CommandText = sql3
    .Execute , , 128 '128=adExecuteNoRecords
    End With

    '
    cn.Close
    Set cn=nothing

    Adesso mi si pone un problema:

    tenendo conto della sintassi corretta sopra riportata,
    devo eseguire,
    sempre all' interno dello stesso db agganciato alla connessione 4_plan.dsn,
    una nuova query, sql4, siffatta:

    UPDATE t_mrg_pl SET t_mrg_pl.Panel_71 = IIf(IsNull([Obbligation_1]),"",[Obbligation_1] & Chr(13) & Chr(10)) & IIf(IsNull([Obbligation_2]),"",Chr(13) & Chr(10) & [Obbligation_2] & Chr(13) & Chr(10)) & IIf(IsNull([Obbligation_3]),"",Chr(13) & Chr(10) & [Obbligation_3] & Chr(13) & Chr(10)) & IIf(IsNull([Obbligation_4]),"",Chr(13) & Chr(10) & [Obbligation_4]);

    qual' e' la sintassi piu' adatta per poterla eseguire,
    al temnine dell' esecuzione della query sql3 ??


    Grazie mille in anticipo !!!


    N.B. a me interessa che la query sql4 venga eseguita e basta: non devo poi estrarre dei recordset ...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Ho provato cosi' ma non funziona:
    all' interno di sql4 ho sostituito i doppi apici con gli apici singoli ..
    inoltre ho sostituito t_mrg_pl.Panel_71 con [Panel_71]

    sql3 = "....;"

    sql4 = "UPDATE t_mrg_pl SET [Panel_71] = IIf(IsNull([Obbligation_1]),'',[Obbligation_1] & Chr(13) & Chr(10)) & IIf(IsNull([Obbligation_2]),'',Chr(13) & Chr(10) & [Obbligation_2] & Chr(13) & Chr(10)) & " & _
    "IIf(IsNull([Obbligation_3]),'',Chr(13) & Chr(10) & [Obbligation_3] & Chr(13) & Chr(10)) & IIf(IsNull([Obbligation_4]),'',Chr(13) & Chr(10) & [Obbligation_4]);"

    Set cmd=CreateObject("adodb.command")
    With cmd
    Set .ActiveConnection = cn
    .CommandType=1 'adCmdText
    .CommandText = sql3
    .CommandText = sql4
    ' ho provato anche cosi' : .CommandText = sql3, sql4 ma niente :-((
    .Execute , , 128 '128=adExecuteNoRecords
    End With
    '
    cn.Close
    Set cn=nothing

    N.B. Obbligation_1 / 2 / 3 / 4 e Panel_71 sono tutti, campi di tipo Memo

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    585
    Ci sono riuscito cosi':

    sql4 = "UPDATE t_mrg_pl SET [Panel_71] = IIf(IsNull([Obbligation_1]),'',[Obbligation_1] & Chr(13) & Chr(10)) & IIf(IsNull([Obbligation_2]),'',Chr(13) & Chr(10) & [Obbligation_2] & Chr(13) & Chr(10)) & " & _
    "IIf(IsNull([Obbligation_3]),'',Chr(13) & Chr(10) & [Obbligation_3] & Chr(13) & Chr(10)) & IIf(IsNull([Obbligation_4]),'',Chr(13) & Chr(10) & [Obbligation_4]);"

    '
    Set cmd=CreateObject("adodb.command")
    With cmd
    Set .ActiveConnection = cn
    .CommandType=1 'adCmdText
    .CommandText = sql3
    .Execute , , 128 '128=adExecuteNoRecords
    .CommandText = sql4
    .Execute , , 128 '128=adExecuteNoRecords

    End With
    '
    cn.Close
    Set cn=nothing


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.