2013-10-17 15 views
7

Sono totalmente nuovo in un'atmosfera VBA. Ho provato a suddividere questa linea in linee multiple, ma ho fallito. Qualcuno può aiutarmi a rompere questo codice in più righe?interrompe una lunga istruzione sqba vba su più righe

DoCmd.RunSQL "UPDATE INDIVIDUAL SET INDIVIDUAL.INDI_FIRSTNAME = '" & prospect_contact!FirstName & "', INDIVIDUAL.INDI_LASTNAME = '" & prospect_contact!LastName & "', INDIVIDUAL.INDI_TEL = '" & prospect_contact!BusinessTelephone & "', INDIVIDUAL.INDI_ADDRESS1 = '" & Replace(prospect_contact!Street, "'", "") & "', INDIVIDUAL.INDI_ADDRESS2 = '" & Replace(prospect_contact!Street1, "'", "") & "', INDI_STATUS = '" & pro & "',INDIVIDUAL.INDI_FUNEL1 = '" & prospect_contact!QualificationStatus & "', INDIVIDUAL.INDI_COUNTRY = '" & prospect_contact!Country_Employer & "', INDIVIDUAL.ACCT_NAME = '" & Replace(prospect_contact!Employer, "'", "") & "' WHERE INDIVIDUAL.INDI_FULLNAME = '" & key & "';" 

UPDATE: ho provato questo con il & _ ma ottengo un errore di sintassi e il codice diventa rosso in VBA. Sto commettendo un errore con le virgole o le virgolette. Non ne ho idea.

     DoCmd.RunSQL "UPDATE INDIVIDUAL SET INDIVIDUAL.INDI_FIRSTNAME = '" & prospect_contact!FirstName & "', & _ 
        INDIVIDUAL.INDI_LASTNAME = '" & prospect_contact!LastName & "', & _ 
        INDIVIDUAL.INDI_TEL = '" & prospect_contact!BusinessTelephone & "', & _ 
        INDIVIDUAL.INDI_ADDRESS1 = '" & Replace(prospect_contact!Street, "'", "") & "', & _ 
        INDIVIDUAL.INDI_FUNEL1 = '" & prospect_contact!QualificationStatus & "', & _ 
        INDI_STATUS = '" & pro & "', & _ 
        INDIVIDUAL.INDI_COUNTRY = '" & prospect_contact!Country_Employer & "', & _ 
        INDIVIDUAL.ACCT_NAME = '" & Replace(prospect_contact!Employer, "'", "") & "' & _ 
        WHERE INDIVIDUAL.INDI_FULLNAME = '" & key & "';" 

UPDATE 2:

FUNZIONA! FUNZIONA! FUNZIONA! grazie a @Bathsheba, @TheLaurens :)

risposta

11

In VBA uno spazio seguito da trattino di sottolineatura e nient'altro dopo ti dà un'interruzione di riga.

ad es.

Ma non interrompere le righe all'interno di una stringa letterale: si tratta di un errore di sintassi.

C'è un limite sorprendentemente piccolo al numero di interruzioni di linea che è possibile avere.

+0

non ho mai avuto problemi con quello, e ho usato alcuni enormi sql! ;) & _ dovrebbe funzionare bene, assicurati di avere lo spazio lì comunque. Inoltre, preferisco entrare in posti logici, cioè non dopo =, ma avere una selezione, da, dove, ecc. – TheLaurens

+1

@TheLaurens; Penso che il limite sia negli anni venti. (Colpisco è una volta che costruisco un generatore di codice VBA). – Bathsheba

+0

Ho provato con & _ ma non funziona. Ho aggiornato il post – codious

Problemi correlati