28 de Agosto de 2009

SQL - Data Dictionary (Parte 3)

No post : http://entreacadeiraeoteclado.blogspot.com/2009/08/sql-data-dictionary.html

Induzi um pequeno erro, os Length em alguns casos estavam a ser mal processados, e retornavam length "0".

Isto criou-me um problema grave, já que eu estava a usar os outputs para um documento .doc, com isto tinha um documento de 80 páginas com vários bugs.

Como os dados "errados" estavam dentro de uma tabela, e consoante o nome da coluna os lengths eram diffs, esperava-me uma tarefa árdua.

Ou não ...

Como tinha seguido a msm nomenclatura para tabelas mestres, no caso da coluna "code" o length seria 50, a coluna "name" seriam 4000 resolvi isto com um pequeno Sub de VBA.

Aqui fica o código para quem precisar (inclusive eu ... não quero perder isto :)

Sub Replace_EmptyChars()

Dim objTable As Table

Dim code As String
Dim name As String

For Each objTable In ActiveDocument.Tables
With objTable

code = .Cell(3, 1).Range.Text
name = .Cell(4, 1).Range.Text

If code = "Code" & Chr(13) & Chr(7) Then
.Cell(3, 3).Range.Text = "(50)"
End If

If name = "Name" & Chr(13) & Chr(7) Then
.Cell(4, 3).Range.Text = "(4000)"
End If

End With
Next objTable

End Sub

PS : A condição "Chr(13) & Chr(7)" é pq o Word teima em colocar uns chars adicionais que são necessários para o Find-Replace funcionar.

0 comments: