2016-12-02 2 views
0

Я создал запрос при доступе с помощью VBA, и я хочу изменить формат номера последних двух столбцов на * #. ## 0,00; * (#. ## 0 , 00); * -00Формат номера запроса в доступе vba

Я не нашел, как это сделать. Вот что я сделал:

Sub orcMensal(periodo As String) 

Dim rs As QueryDef 
Dim SQL1 As String 
Dim ano As String 
Dim tabelaCA As String 
Dim tabelaRealizado As String 


tabelaCA = "[ORCAMENTO_CA_20" & Right(periodo, 2) & "]" 
tabelaRealizado = "[" & periodo & "_MA]" 


SQL1 = "SELECT " & tabelaCA & ".coger AS [Codigo Coger], " _ 
     & tabelaCA & ".[Descricao], " _ 
     & tabelaCA & ".[" & periodo & "] AS [Orcamento], " _ 
     & tabelaRealizado & ".[REALIZADO] AS [Realizado], " _ 
     & "(" & tabelaRealizado & ".[REALIZADO] - " & tabelaCA & ".[" & periodo & "]) AS [Diferenca] " _ 
     & "FROM " & tabelaCA _ 
     & " INNER JOIN " & tabelaRealizado & " ON" _ 
     & " (" & tabelaCA & ".[coger] = " & tabelaRealizado & ".[COD_ES] AND " _ 
     & tabelaCA & ".[Titular] = " & tabelaRealizado & ".[TITULAR]);" 



Debug.Print SQL1 
Set rs = CurrentDb.CreateQueryDef(periodo, SQL1) 
DoCmd.OpenQuery rs.Name, , acReadOnly 



End Sub 
+0

Могу ли я использовать функцию форматирования в строке SQL? Формат на самом деле является «#. ## 0,00; (#. ## 0,00); -00», но я не знаю, почему в поле формата доступа для столбца, который я использую в качестве модели, использует звездочки. –

+0

1) 1000000,5023 ** >>>> ** 1.000.000,50; 2) -5200000,7833 ** >>>> ** (5.200.000,78); 3) 0 ** >>>> ** -; –

+0

Я пробовал использовать формат в строке SQL, и это сработало! Благодарю. Но как я помещаю в этот конкретный формат, показанный выше? –

ответ

0

Я использовал функцию Format в SQL-запросе, например, @Wayne G. Dunn. Формат, который я хотел

1) 1000000,5023 >>>> 1.000.000,50; 
2) -5200000,7833 >>>> (5.200.000,78); 
3) 0 >>>> - 

Так что я использовал «#, ## 0.00; (#, ## 0.00); -» в формате функции, вот как выглядит запрос:

SQL1 = "SELECT " & tabelaCA & ".coger AS [Codigo Coger], " _ 
     & tabelaCA & ".[Descricao], " _ 
     & "Format(" & tabelaCA & ".[" & periodo & "], '#,##0.00; (#,##0.00); -') AS [Orcamento], FORMAT(" _ 
     & tabelaRealizado & ".[REALIZADO], '#,##0.00; (#,##0.00); -') AS [Realizado], " _ 
     & "Format((" & tabelaRealizado & ".[REALIZADO] - " & tabelaCA & ".[" & periodo & "]), '#,##0.00; (#,##0.00); -') AS [Diferenca] " _ 
     & "FROM " & tabelaCA _ 
     & " LEFT JOIN " & tabelaRealizado & " ON" _ 
     & " (" & tabelaCA & ".[coger] = " & tabelaRealizado & ".[COD_ES] AND " _ 
     & tabelaCA & ".[Titular] = " & tabelaRealizado & ".[TITULAR])" _ 
     & "WHERE " & tabelaCA & ".coger <> '';" 
Смежные вопросы