PDA

View Full Version : VBA e remapping codici ASCII


R1((ky
02-03-2005, 19:18
Salve a tutti, in un'applicazione di Access che sto scrivendo, ho necessità di inserire in alcuni database delle stringhe di testo piuttosto ampie, che ahimè spesso e volentieri contengono anche degli apostrofi.

Ora non so se vi è mai capitato, se inserite stringhe contenenti apostrofi, VBA interpreta il simbolo come fine riga, e mi manda in vacca tutte le query e cosucce varie...


Ora quello che vorrei fare è una cosetta del genere: all'evento "su tasto giù" inserire una funzione (e forse già ce ne sono belle pronte) che mi intercetti il KeyCode del tasto apostrofo(in questo caso il 39) e me lo cambi in "96", quello del simbolo apostrofo rovesciato, ugualmente comprensibile per l'utente, ma innocuo per il codice.

Come potrei impostare la routine?


Grazie

Brigante
02-03-2005, 19:48
Nel codice devi far riferimento alla TextBox interessata e scrivere:

Private Sub TextBox_KeyPress(KeyAscii As Integer)
If KeyAscii = 39 Then KeyAscii = 96
End Sub

...Tutto qua!

P.S.: Comunque se nella stringa inserisci gli apostrofi doppi, per esempio: "....all'Ufficio..." lo fai diventare "...all''Ufficio", l'SQL lo accetterà tranquillamente e memorizzerà nel campo un solo apostrofo.

R1((ky
02-03-2005, 19:51
Originariamente inviato da Brigante
Nel codice devi far riferimento alla TextBox interessata e scrivere:

Private Sub TextBox_KeyPress(KeyAscii As Integer)
If KeyAscii = 39 Then KeyAscii = 96
End Sub

...Tutto qua!

P.S.: Comunque se nella stringa inserisci gli apostrofi doppi, per esempio: "....all'Ufficio..." lo fai diventare "...all''Ufficio", l'SQL lo accetterà tranquillamente e memorizzerà nel campo un solo apostrofo.


Ti giuro che mi pareva di averla fatta uguale ma non andava... :D

Adesso riprovo e poi ti dico :D

Grazie cmq ;)

R1((ky
02-03-2005, 19:57
Originariamente inviato da Brigante
Nel codice devi far riferimento alla TextBox interessata e scrivere:

Private Sub TextBox_KeyPress(KeyAscii As Integer)
If KeyAscii = 39 Then KeyAscii = 96
End Sub

...Tutto qua!

P.S.: Comunque se nella stringa inserisci gli apostrofi doppi, per esempio: "....all'Ufficio..." lo fai diventare "...all''Ufficio", l'SQL lo accetterà tranquillamente e memorizzerà nel campo un solo apostrofo.


Infatti era proprio uguale, ma nella Sub KeyDown (KeyCode As Integer)

Adesso va alla grande, grazie mille!

Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.