Dans MS Access assignant une chaîne littérale peuvent parfois créer une chaîne videmyString = "Mettre à Jour" des résultats dans un myString vide
Le code suivant
Public Sub test()
Dim myString As String
myString = "UPDATE "
Debug.Print "'" & myString & "'"
End Sub
résultats dans
''
Cela me fait peur. Cela n'arrive que parfois. D'autres fois le "UPDATE" fonctionnera, mais myString = "tblCategorie" ne fonctionnera pas. Il doit être exactement cette chaîne. Si "UPDATE" échoue, alors "update" sera toujours correct.
J'utilise MS Access 2003 11.8204.8221 SP3 Est-ce que quelqu'un a le même problème?
(avant de dire:. L'accès de décharge que nous faisons déjà, mais toujours dans une phase de transition, je ne suis pas vraiment attendant quelqu'un de venir avec une réponse décente, mais un gars peut espérer)
[MISE À JOUR]: Merci pour tous les commentaires! laissez-moi juste mettre très clairement si
- ce n'est pas une faute de frappe. Le même code fonctionne parfois, et parfois non.
- Il est exécuté de manière isolée, donc ce n'est pas un problème de variable globale.
- J'ai mis à jour l'exemple à le code exact qui échoue/n'échoue pas. C'est une copie littérale. Je le teste en le collant dans un module et en tapant 'test' dans l'écran direct.
- Elle a d'abord sauté dans le code qui avait travaillé parfaitement l'année dernière moitié,
- Il est vraiment l'affectation de chaîne qui ne réussit pas (je peux vérifier que, en mettant une pause sur la déclaration d'affectation)
- je produis ma base de données de text exports, donc ce ne peut pas vraiment être un problème de corruption. (Il pourrait être, mais ce n'est pas un que je peux corriger en compressant, etc.)
Est-ce que le Debug.Print est un problème? Essayez de voir la valeur de la variable dans la fenêtre de la montre. – shahkalpesh
Pourquoi voudriez-vous inclure une chaîne SQL entre guillemets simples? –
@David W. Fenton: on ferait cela lors de l'impression d'une chaîne à la fenêtre immédiate pour le rendre plus facile de faire une vérification visuelle du remplissage de l'espace. Aussi, je pense que c'est juste un exemple; Je veux dire, pourquoi lire un littéral de piqûre dans une variable de chaîne si le seul point de la procédure de sous est d'imprimer à la fenêtre immédiate de VBA qui (nous espérons) ne sera jamais vue par des utilisateurs. – onedaywhen