2017-01-19 4 views
0

Ich habe eine Spalte in meiner Access-Datenbank-Tabelle, ich habe eine Abfrage ausgeführt, um es richtig zu machen Fall mit StrConv([MyColumn],3) aber die letzten zwei Buchstaben sind Statusnamen und diese Abfrage macht SOmeThing, soMethINg, NY zu Something, Something, Ny, Ich möchte das Ergebnis als Something, Something, NY Gibt es eine andere Abfrage, die ich ausführen kann, um den letzten Buchstaben groß zu schreiben?Großschreibung Nur der letzte Buchstabe in der Zeichenfolge - MS Access

Antwort

2

können Sie verwenden:

UcaseLast: Left([YourColumn], Len([YourColumn]) - 1) & UCase(Right([YourColumn], 1)) 
+0

es gibt mir Fehler, dass MS Access kann nicht alle Datensätze in der Update-Abfrage wegen Typ Konvertierung Fehler –

+0

Das ist wahrscheinlich aufgrund von Datensätzen mit _Null_ Werte. Filtern Sie diese heraus. – Gustav

+0

Sie haben Recht, außer dass es funktioniert! Danke –

1

Nun, die meisten Menschen würden Sie sagen, Ihre ‚Adresse‘ zu speichern, ‚Stadt‘ und ‚Staat‘ als separate Felder. Dann ordne man sie jeweils separat zusammen und verkettet sie zusammen. Wenn du das kannst ... das ist dein bester Ansatz.

Wenn dies eine Datenbank oder Datei ist, die auf Sie geworfen wurde und Sie können das Feld/die Tabelle nicht ändern ... es ist immer noch möglich, Ihre gewünschten Ergebnisse zu erhalten. Sie sollten jedoch sicherstellen, dass alle Strings mit Ihrem Statuscode enden. Stellen Sie außerdem sicher, dass Sie keine ausländischen Adressen haben, da kanadische (und andere Länder) am Ende mehr als zwei Buchstaben für den Provinzcode verwenden.

Aber wenn Sie sicher sind, alle Datensätze aus zwei Buchstaben bestehenden Zustand Abkürzungen enthalten, können Sie mit dem folgenden fortsetzen:

MyColumnAdj: StrConv(Mid([MyColumn],1,len([MyColumn])-2),3) + StrConv(right([MyColumn],2),1) 

Dies nimmt das midstring Ihrer [MyColumn] von Position 1 auf die Länge Ihres [MyColumn ] minus 2 (Verlassen des Bundesstaats) und es ist alles richtig.

Es verkettet dann (mit dem Pluszeichen) zu einem rightstring von [MyColumn] für eine Länge von 2 und Großbuchstaben es.

Noch einmal, das ist gefährlich, wenn das Feld den State Code nicht konsistent am Ende der Zeichenfolge hat.

Viel Glück. Hoffe das hilft. :)

+0

es ist kein Adressfeld, es könnte Store Name sein, ein anderer Text und im Endzustand, –

+0

GIGO ist GIGO, als Entwickler können wir es manchmal nicht vermeiden. Ich freue mich, dass du deine Antwort mit Gustav gefunden hast. Denken Sie daran, seine Antwort stimmt nicht mit dem ersten Teil der Zeichenfolge überein. Aber ich nehme an, Sie haben das schon gesehen und die Änderungen zu Ihrer Zufriedenheit vorgenommen. Die besten Wünsche :) – abraxascarab

Verwandte Themen