2009-07-07 8 views
2

Ich habe eine Abfrage in VBA, die ein paar Spalten zu einer Tabelle hinzufügt. Wie kann ich das Format der PercentSuccess Spalte zu Prozent mit SQL in VBA ändern?Wie ändere ich das Format einer Spalte mit einem SQL in VBA in Prozent?

Hier ist der Code, den ich verwende, um die Spalten hinzuzufügen.

strSql5 = " Alter Table analyzedCopy3 " & _ 
    "Add Column PercentSuccess Number, Success Number, prem_addr1 TEXT(50) " 

DoCmd.SetWarnings False 
DoCmd.RunSQL strSql5 
DoCmd.SetWarnings True 

Ich habe versucht, Format() zu verwenden, aber ich kann es nicht ändern, was ich ändern müssen, um zu arbeiten. Es scheint nur die Dinge wie Nummer, Text und so weiter zu ändern.

+0

Diese Antwort ist nicht eng mit Ihrer Frage verbunden ... aber der folgende Link zeigt, wie Sie eine PERCENT BAR in einer Access-Abfrage erstellen. Einer meiner Lieblings-Access-Tipps. Dachte vielleicht könntest du den kühlen Faktor auf deiner Frage erhöhen, indem du dieses verwendest: http://www.datapigtechnologies.com/flashfiles/percenttotal.html –

Antwort

4

Sie können die Format-Eigenschaft nicht mithilfe von SQL festlegen, aber Sie können dies über zusätzlichen VBA-Code tun. Außerdem sollten Sie wissen, dass bestimmte Feldeigenschaften erst dann tatsächlich existieren, wenn ihnen ein Wert zugewiesen wird, dessen Format-Eigenschaft einer davon ist. Der Code unten erhält zuerst einen Verweis auf das fragliche Feld, erstellt eine neue Format-Eigenschaft mit dem gewünschten Wert und hängt es dann an die Felddefinition an. Die Microsoft Access-Benutzeroberfläche ist irreführend, da Sie davon ausgehen, dass die Eigenschaft bereits vorhanden ist.

Dim db As Database 
    Dim tdef As TableDef 
    Dim fdef As Field 
    Dim pdef As Property 

    Set db = CurrentDb() 
    Set tdef = db.TableDefs("analyzedCopy3") 
    Set fdef = tdef.Fields("PercentSuccess") 

    Set pdef = fdef.CreateProperty("Format", dbText, "Percent") 
    fdef.Properties.Append pdef 

Schließlich funktioniert dieser Code nur, wenn Sie die DAO-Objekte verwenden; Sie können diese Eigenschaft nicht mithilfe von ADO festlegen.

+0

Arbeiten groß danke. – Bryan

Verwandte Themen