[MEU 50º LIVRO]: BANCOS DE DADOS E ACESS - CURSO COMPLETO - DO BÁSICO AO VBA - 1602 páginas

Páginas: 1602 | Autor: Júlio Battisti | 40% de Desconto e 70h de Vídeo Aulas de Bônus

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 11 : 17
Quer receber novidades e e-books gratuitos?
›››
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »
SQL Server 2005 - CURSO COMPLETO

Autor: Júlio Battisti
Lição 198 - Capítulo 11 - UMA PÁGINA ASP PARA INSERIR INFORMAÇÕES NO BANCO DE DADOS

Neste exemplo, aprenderemos a construir uma página ASP que recebe os dados digitados em um formulário HTML e armazena estes dados no registro de uma tabela. Também faremos a validação para verificar se todos os campos obrigatórios foram preenchidos, caso algum campo obrigatório não tenha sido preenchido, devolvemos o formulário para o usuário informando qual ou quais campos obrigatórios não foram preenchidos. Caso todos os campos tenham sido preenchidos corretamente, os valores digitados serão gravados no Banco de Dados.

Podemos utilizar este exemplo para criar um formulário de cadastro de usuários ou qualquer outra aplicação que necessite armazenar os dados digitados em um formulário.

Nota: Eu, por exemplo, utilizo uma aplicação deste tipo para fazer a avaliação dos treinamentos que ministro em todo o país. Ao final do treinamento os usuários, sem se identificar, preenchem um formulário com as opiniões sobre o treinamento, o material e o desempenho do instrutor. Estes dados são armazenados diretamente em um Banco de Dados do Microsoft Access; a partir do qual faço uma série de estatísticas.

Nota: Nos exemplos, estarei utilizando a linguagem VBScript. Para maiores informações sobre VBScript, consulte um dos seguintes sites: msdn.microsoft.com/vbscript; www.searchvb.com; e www.vbscripts.com.

Você também pode consultar o e-book “Criando Sites Dinâmicos com ASP 3.0”, já citado anteriormente. Neste e-book, você também encontrará informações sobre a criação de formulários utilizando HTML.

No Exemplo 11.4, temos o código HTML para a criação do formulário de cadastro, no qual o usuário poderá digitar os dados. Os dados digitados neste formulário serão inseridos na tabela Customers, do Banco de Dados Northwind, da instância SERVIDOR\SQL2005. O exemplo da Listagem 11.4 tem apenas o código HTML para a criação do formulário, com os campos para digitação dos dados. Ao clicar no botão Enviar dados, os dados digitados serão enviados para a página cadastro.asp. O nome da página ASP que irá processar os dados, é definida na propriedade ACTION, do botão de comando Enviar dados. Após o código, apresentarei mais explicações sobre este exemplo. Este exemplo deve ser salvo com o nome Cadastro.htm, na página C:\LivroSQL2005\Capitulo11

Exemplo 11.4 – O formulário para digitação dos dados – Cadastro.htm.

1  <HTML>

2 <HEAD>

3 <TITLE>Cadastro de novos Clientes !!</TITLE>

4 </HEAD>

5 <BODY bgColor=#c0c0c0>

6 <P>

7 <FONT color=white size=6 style=“BACKGROUND-COLOR: navy”>

8 <B>Tabela Customers – Northwind </B>

9 </FONT>

10 </P>

11 <P>

12 <FONT color=#ffffff size=5 style=“BACKGROUND-COLOR: darkred”>

13 <B><EM>Cadastro de Clientes !</EM></B>

14 </FONT>

15 </P>

16 <P>

17 <FONT color=navy size=4>

18 <EM>Digite os dados solicitados e clique no botão Enviar.</EM>

19 </FONT>

20 </P>

21 <P>

22 <FORM ACTION=cadastro.asp METHOD=POST>

23 <TABLE bgColor=#ffffff border=1 cellPadding=1 cellSpacing=1 width=“100%” style=“HEIGHT:

  161px; WIDTH: 340px”>

24   <TR>

25   <TD>Código:</TD>

26   <TD><INPUT id=CustomerID maxLength=50 name=CustomerID size=35>&nbsp;

27    <FONT color=red><B>(*)</B></FONT></TD>

28 </TR>

29   <TR>

30   <TD>Nome:</TD>

31   <TD><INPUT id=CompanyName maxLength=30 name=CompanyName size=35>

32   <FONT color=red><B>(*)</B></FONT></TD>

33 </TR>

34   <TR>

35   <TD>Contato:</TD>

36   <TD><INPUT id=ContactName maxLength=20 name=ContactName >

37   <FONT color=red><B>(*)</B></FONT></TD>

38 </TR>

39   <TR>

40   <TD>Cargo:</TD>

41   <TD><INPUT id=ContactTitle maxLength=25 name=ContactTitle size=25>

42   <FONT color=red><B>(*)</B></FONT></TD>

43 </TR>

44   <TR>

45   <TD>Endereço:</TD>

46   <TD><INPUT id=Address maxLength=20 name=Address></TD>

47 </TR>

48   <TR>

49   <TD>Cidade:</TD>

50   <TD><INPUT id=City maxLength=20 name=City></TD>

51 </TR>

52  <TR>

53   <TD>Região:</TD>

54   <TD><INPUT id=Region maxLength=20 name=Region></TD></TR>

55   <TR>

56   <TR>

57   <TD>CEP:</TD>

58   <TD><INPUT id=PostalCode maxLength=20 name=PostalCode></TD></TR>

59   <TR>

60   <TR>

61   <TD>País:</TD>

62   <TD><INPUT id=Country maxLength=20 name=Country></TD></TR>

63   <TR>

64   <TR>

65   <TD>Telefone:</TD>

66   <TD><INPUT id=Phone maxLength=20 name=Phone></TD></TR>

67   <TR>

68   <TR>

69   <TD>FAX:</TD>

70   <TD><INPUT id=Fax maxLength=20 name=Fax></TD></TR>

71   <TR>

72 <TR>

73 <TD colSpan=2>

74 <INPUT id=enviar name=enviar style=“HEIGHT: 24px; WIDTH:109px” type=submit

- value=“Enviar dados.”>

70 <INPUT id=limpar name=limpar type=submit value=“Limpar Formulário.”>

71 </TD>

72 </TR>

73 </TABLE>

74 </FORM>

75 </P><BR>

76 <FONT color=red><B>(*)

77 <FONT color=navy>Campos de preenchimento obrigatório.</FONT></B></FONT>

78 </BODY>


79 </HTML>

Ao carregarmos o Exemplo 11.4, obteremos o resultado indicado na Figura 11.35.

SQL Server 2005 Completo - Julio Battisti
Figura 11.35 O formulário cadastro.htm, para digitação dos dados.

Agora precisamos construir a página, Cadastro.asp, a qual irá verificar se todos os campos obrigatórios foram preenchidos. Se todos os campos obrigatórios foram preenchidos, os dados serão gravados em um Banco de Dados, caso contrário o formulário é enviado de volta para o usuário, solicitando que o usuário preencha os campos que estão faltando.

Para armazenar os dados, utilizaremos a tabela Customers, do Banco de Dados Northwind, da instância SERVIDOR\SQL2005. A estrutura da tabela Customers está indicada na Figura 11.36.

SQL Server 2005 Completo - Julio Battisti
Figura 11.36 Tabela Customers do Banco Northwind no SQL Server 2005.

Para acessar este Banco de Dados utilizaremos OLE DB, sem a necessidade da criação de uma fonte ODBC. Faremos isto através da utilização da propriedade ConnectionString, já descrita neste capítulo.

A página cadastro.asp fará o seguinte:

•  Estabelece uma conexão com o Banco de Dados Northwind e cria um RecordSet chamado Cadastro, o qual está ligado à tabela Customers.

•  Depois, a página verifica se algum campo obrigatório não foi preenchido.

•  Caso todos os campos obrigatórios tenham sido preenchidos, os dados são gravados na tabela Customers.

•  Caso algum campo obrigatório não tenha sido preenchido, a página ASP informa quais campos obrigatórios não foram preenchidos, retorna o formulário para o usuário, mantendo os campos que já haviam sido preenchidos, para que o usuário possa preencher somente os que estão faltando.

No Exemplo 11.5, temos o código para a página Cadastro.asp.

Exemplo 11.5 – Página ASP para processamento dos dados – Cadastro.asp.

1  <%@ Language=VBScript %>

2 <HTML>

4 <HEAD>

5 </HEAD>

6 <BODY>

7 <%

8 ‘O primeiro passo é criar a conexão com o Banco de Dados

9 ‘Para isto crio um objeto do tipo Connection

10 ‘Cria um objeto do Tipo ADODB.Connection

11   Set conn=Server.CreateObject(“ADODB.Connection”)

12 ‘Agora abro uma conexão com o Banco de Dados Northwind

13 ‘da instância SERVIDOR\SQL2005, utilizando OLE DB.

14 conn.ConnectionString = “PROVIDER=SQLOLEDB;

Data Source=SERVIDOR\SQL2005;Initial Catalog=Northwind;

User ID=sa;Password=abc123”

15 conn.Open

16 ‘Agora criamos um objeto RecordSet.

17 ‘Este objeto irá acessar a tabela Customers.

18 Set Cadastro = Server.CreateObject(“ADODB.Recordset”)

19 Cadastro.Open “Customers”, conn, 3, 3

20 ‘Neste ponto tenho o objeto Cadastro ligado com a tabela

21 ‘Cadastro do Banco de Dados clientes.mdb.

22 ‘**************************************************

23 ‘ Inicia a verificação para saber se todos

24 ‘ os campos obrigatórios foram preenchidos.

25 ‘ Atribuo os campos obrigatórios à variáveis, para facilitar a verificação.

26 ‘Os dados recebidos pelo formulário são acessados através do objeto Request e do

27 ‘seu método Form. Por exemplo, Request.Form(“CustomerID”) contém o valor digitado

‘no campo CustomerID do formulário Cadastro.htm.

28 Codigo  = Request.Form(“CustomerID”)

29 Nome  = Request.Form(“CompanyName”)

30 Contato = Request.Form(“ContactName”)

31 Cargo  = Request.Form(“ContactTitle”)

32 ‘Verifica se os campos obrigatórios foram preenchidos.

33 ‘Qualquer dado obrigatório que não tenha sido preenchido,

34 ‘definirá a variável faltou_dado em Sim.

35 If (Codigo=“”)Then

36   mensagem_codigo=“Preencha o campo Código:”

37   faltou_dado=“Sim”

38   faltou_codigo=“Sim”

39 End If

40 If (Nome=“”)Then

41   mensagem_nome=“Preencha o campo Nome:”

42   faltou_dado=“Sim”

43   faltou_nome=“Sim”

44 End If

45 If (Contato=“”)Then

46   mensagem_contato=“Preencha o campo Contato:”

47   faltou_dado=“Sim”

48   faltou_contato=“Sim”

49 End If

50 If (Cargo=“”)Then

51   mensagem_cargo=“Preencha o campo Cargo:”

52   faltou_dado=“Sim”

53   faltou_cargo=“Sim”

54 End If

55 ‘Caso todos os campos obrigatórios tenham sido

56 ‘preenchidos, gravo os dados no Banco de Dados.

57 ‘e informo que a operação foi realizada com sucesso.

58 If faltou_dado<>“Sim” Then

59 Cadastro.AddNew

60 Cadastro.Fields(“CustomerID”)= Request.Form(“CustomerID”)

71 Cadastro.Fields(“CompanyName”)= Request.Form(“CompanyName”)

72 Cadastro.Fields(“ContactName”)= Request.Form(“ContactName”)

73 Cadastro.Fields(“ContactTitle”)= Request.Form(“ContactTitle”)

74 Cadastro.Fields(“Address”)= Request.Form(“Address”)

75 Cadastro.Fields(“City”)= Request.Form(“Region”)

76 Cadastro.Fields(“Region”)= Request.Form(“Region”)

77 Cadastro.Fields(“PostalCode”)= Request.Form(“PostalCode”)

78 Cadastro.Fields(“Country”)= Request.Form(“Country”)

79 Cadastro.Fields(“Phone”)= Request.Form(“Phone”)

80 Cadastro.Fields(“Fax”)= Request.Form(“Fax”)

81 Cadastro.Update

82 Cadastro.Close

83 Set Cadastro = Nothing

84 Response.Write “CLIENTE CADASTRADO COM SUCESSO<BR>”

85 Response.Write “<A href=cadastro.htm>Clique aqui para Cadastrar outro Cliente</A>”

86 Response.Write “<HR>”

87 End If

88 ‘Caso algum dado obrigatório não tenha sido digitado

89 ‘Envia o formulário de  volta para o Cliente,

90 ‘preservando os valores que o mesmo já digitou.

91 ‘Observe que utilizamos Response.Write para ir

92 ‘recriando todo o formulário. Também observe que o formulário é enviado de volta

93 ‘na página cadastro.asp e que o atributo action da tag FORM é definido como

94 ‘cadastro.asp, ou seja a página cadastro.asp chama a si mesma após o

95 ‘usuário clicar no botão Enviar. Esta é uma técnica bastante interessante.

96 ‘Antes de enviar o formulário, informamos quais

97 ‘os campos obrigatório que não foram preenchidos.

98 If faltou_codigo=“Sim” Then

99   Response.Write “<B>O campo Código deve ser preenchido.</B> <br>”

100  End If

101  If faltou_nome=“Sim” Then

102    Response.Write “<B>O campo Nome deve ser preenchido.</B> <br>”

103  End If

104 If faltou_contato=“Sim” Then

105    Response.Write “<B>O campo Contato deve ser preenchido.</B> <br>”

106  End If

107  If faltou_cargo=“Sim” Then

108    Response.Write “<B>O campo cargo deve ser preenchido.</B> <br>”

109  End If

110  %>

111  <%

112  ‘Começo a reenviar o formulário para o usuário, utilizando Response.Write.

113  ‘Caso esteja faltando algum dado, envio o formulário.

114  ‘para o usuário preencher os campos que estão faltando.

115  ‘Os valores já digitados, são preservados.

116  %>

117  <% If faltou_dado=“Sim” Then

118  Response.Write “<BODY bgColor=#c0c0c0>”

119  Response.Write “<P><FONT color=white size=6 style=BACKGROUND-COLOR: navy><STRONG>Cadastro

  de Clientes”

120  Response.Write “CLIENTES:</EM></STRONG></FONT> <BR></FONT><FONT color=navy

  size=4><EM>Digite os dados solicitados e clique no botão “

121  Response.Write “Enviar.</EM></FONT></P>”

122  Response.Write “<P>”

123  Response.Write “Caso queira alterar algum dado”

124  Response.Write “ digite no formulário abaixo.<HR>”

125  Response.Write “<FORM ACTION=cadastro.asp METHOD=post id=form1 name=form1>”

126  Response.Write “<TABLE bgColor=#ffffff border=1 cellPadding=1 cellSpacing=1 width=100%

  style=HEIGHT: 161px; WIDTH: 340px>”

127  Response.Write “<TR>”

128  Response.Write “<TD>Código:</TD>”

129  Response.Write “<TD><INPUT id=CustomerID maxLength=50 name=CustomerID size=35 value=” &

  Chr(34) & Request.Form(“CustomerID”) & Chr(34) & “>&nbsp;<FONT “

130  Response.Write “color=red><B>(*)</B></FONT></TD></TR>”

131  Response.Write “<TR>”

132  Response.Write “<TD>Nome:</TD>”

133  Response.Write “<TD><INPUT id=CompanyName maxLength=50 name=CompanyName size=35 value=”

  & Chr(34) & Request.Form(“CompanyName”) & Chr(34) & “>&nbsp;<FONT “

134  Response.Write “color=red><B>(*)</B></FONT></TD></TR>”

135  Response.Write “<TR>”

136  Response.Write “<TD>Contato:</TD>”

137  Response.Write “<TD><INPUT id=ContactName maxLength=50 name=ContactName size=35 value=”

  & Chr(34) & Request.Form(“ContactName”) & Chr(34) & “>&nbsp;<FONT “

138  Response.Write “color=red><B>(*)</B></FONT></TD></TR>”

139  Response.Write “<TR>”

140  Response.Write “<TD>Cargo:</TD>”

141  Response.Write “<TD><INPUT id=ContactTitle maxLength=50 name=ContactTitle size=35

  value=” & Chr(34) & Request.Form(“ContactTitle”) & Chr(34) & “>&nbsp;<FONT “

142  Response.Write “color=red><B>(*)</B></FONT></TD></TR>”

143  Response.Write “<TR>”

144  Response.Write “<TD>Endereço:</TD>”

145  Response.Write “<TD><INPUT id=Address maxLength=50 name=Address

size=35 value=” & Chr(34) & Request.Form(“Address”) & Chr(34) & “>”

146  Response.Write “</TD></TR>”

147  Response.Write “<TR>”

148  Response.Write “<TD>Cidade:</TD>”

149  Response.Write “<TD><INPUT id=City maxLength=50 name=City

size=35 value=” & Chr(34) & Request.Form(“City”) & Chr(34) & “>”

150  Response.Write “</TD></TR>”

151  Response.Write “<TR>”

152  Response.Write “<TD>Região:</TD>”

153  Response.Write “<TD><INPUT id=Region maxLength=50 name=Region

size=35 value=” & Chr(34) & Request.Form(“Region”) & Chr(34) & “>”

154  Response.Write “</TD></TR>”

155  Response.Write “<TR>”

156  Response.Write “<TD>CEP:</TD>”

157  Response.Write “<TD><INPUT id=PostalCode maxLength=50 name=PostalCode

size=35 value=” & Chr(34) & Request.Form(“PostalCode”) & Chr(34) & “>”

158  Response.Write “</TD></TR>”

159  Response.Write “<TR>”

160  Response.Write “<TD>País:</TD>”

161  Response.Write “<TD><INPUT id=Country maxLength=50 name=Country

size=35 value=” & Chr(34) & Request.Form(“Country”) & Chr(34) & “>”

162  Response.Write “</TD></TR>”

163  Response.Write “<TR>”

164  Response.Write “<TD>Telefone:</TD>”

165  Response.Write “<TD><INPUT id=Phone maxLength=50 name=Phone

size=35 value=” & Chr(34) & Request.Form(“Phone”) & Chr(34) & “>”

166  Response.Write “</TD></TR>”

167  Response.Write “<TR>”

168  Response.Write “<TD>Fax:</TD>”

169  Response.Write “<TD><INPUT id=Fax maxLength=50 name=Fax

size=35 value=” & Chr(34) & Request.Form(“Fax”) & Chr(34) & “>”

170  Response.Write “</TD></TR>”

171  Response.Write “<FONT color=red><B>(*)</B></FONT></TD></TR>”

172  Response.Write “<TR>”

173  Response.Write “<TD colSpan=2><INPUT id=enviar name=enviar style=HEIGHT: 24px; WIDTH:

  109px type=submit value=Enviar_dados.>&nbsp;”

174  Response.Write “<INPUT id=limpar name=limpar type=submit value=Limpar_formulário.></TD></TR>”

175  Response.Write “</TABLE>”

176    Response.Write “</FORM>”

177  Response.Write “</P><FONT color=red><B>(*) <FONT color=navy>Campos de preenchimento “

178  Response.Write “obrigatório.</FONT></B></FONT>”

179 End If

180  %>

181  </BODY>



182  </HTML>

Nota: Algumas linhas aparecem divididas em duas ou mais linhas. Nunca é demais lembrar que estas linhas devem ser digitadas como uma linha única. As linhas estão exibidas em duas ou mais linhas apenas por questão de espaço.

Algumas observações sobre Exemplo 11.5:

•  A primeira observação a ser feita é a respeito do código que insere um novo registro na tabela Customers do Banco de Dados Northwind. O código ASP que realiza esta tarefa é o seguinte:

58  If faltou_dado<>“Sim” Then

59 Cadastro.AddNew

60 Cadastro.Fields(“CustomerID”)= Request.Form(“CustomerID”)

71 Cadastro.Fields(“CompanyName”)= Request.Form(“CompanyName”)

72 Cadastro.Fields(“ContactName”)= Request.Form(“ContactName”)

73 Cadastro.Fields(“ContactTitle”)= Request.Form(“ContactTitle”)

74 Cadastro.Fields(“Address”)= Request.Form(“Address”)

75 Cadastro.Fields(“City”)= Request.Form(“Region”)

76 Cadastro.Fields(“Region”)= Request.Form(“Region”)

77 Cadastro.Fields(“PostalCode”)= Request.Form(“PostalCode”)

78 Cadastro.Fields(“Country”)= Request.Form(“Country”)

79 Cadastro.Fields(“Phone”)= Request.Form(“Phone”)

80 Cadastro.Fields(“Fax”)= Request.Form(“Fax”)

81 Cadastro.Update

82 Cadastro.Close

83 Set Cadastro = Nothing

84 Response.Write “CLIENTE CADASTRADO COM SUCESSO<BR>”

85 Response.Write “<A href=cadastro.htm>Clique aqui para Cadastrar outro Cliente</A>”

86 Response.Write “<HR>”

87 End If

Neste código, utilizamos o método AddNew do objeto RecordSet Cadastro. Depois vamos preenchendo cada novo campo do registro, com o respectivo valor preenchido pelo usuário no formulário. No final, utilizamos o método Update para salvar o registro na tabela.

O método Close é utilizado para fechar o RecordSet Cadastro e, por fim, tiramos o objeto Cadastro da memória. Isto é feito atribuindo-se o valor “Nothing” para o objeto Cadastro. É importante lembrar que para atribuir valor para um objeto, devemos utilizar o operador Set, caso contrário obteremos uma mensagem de erro.

•  Também gostaria de observar a situação em que o usuário deixa de preencher algum campo obrigatório. Neste caso, o usuário é informado a respeito de qual ou quais campos não foram preenchidos. O formulário é retornado para o usuário, juntamente com os valores já digitados, para que o usuário não precise digitar todos os valores novamente. Observe que todo o código HTML que gera o formulário é retornado utilizando-se Response.Write.

Vamos testar o funcionamento da página Cadastro.asp.

Na Figura 11.37, o usuário preencheu alguns campos, porém não preencheu os campos obrigatórios Contato e Cargo.

SQL Server 2005 Completo - Julio Battisti
Figura 11.37 Os campos obrigatórios Contato e Cargo não foram preenchidos.

Ao clicar no botão “Enviar dados”, a página Cadastro.asp detecta que alguns campos obrigatórios não foram preenchidos e informa o usuário a este respeito, conforme indicado na Figura 11.38.

SQL Server 2005 Completo - Julio Battisti
Figura 11.38 O usuário é informado quais campos obrigatórios não foram preenchidos.

Agora o usuário preenche os campos obrigatórios que estão faltando, conforme indicado na Figura 11.39.

SQL Server 2005 Completo - Julio Battisti
Figura 11.40 O usuário preenche os campos que estão faltando.

Ao clicar no botão “Enviar dados”, as informações serão salvas no Banco de Dados. A página Cadastro.asp informa que os dados foram salvos com sucesso e retorna um link para que o usuário possa voltar ao formulário de cadastro e cadastrar outro cliente, conforme indicado na Figura 11.40.

SQL Server 2005 Completo - Julio Battisti
Figura 11.40 O cliente foi cadastrado com sucesso.

Na Figura 11.41, acessamos a tabela Customers e podemos constatar que o cliente foi realmente cadastrado.

SQL Server 2005 Completo - Julio Battisti
Figura 11.41 Os dados enviados pela página ASP foram gravados na tabela Customers.

« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »

Best Sellers de Excel do Julio Battisti

Todos com Vídeo Aulas, E-books e Planilhas de Bônus!

Aprenda com Júlio Battisti:
Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos - Passo a Passo

 Aprenda com Júlio Battisti: Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 540 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos

Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Livro: Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 952 | Editora: Instituto Alpha

 

Livro: Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

 

[LIVRO]: Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1124 | Editora: Instituto Alpha

 

[LIVRO]: Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos

 

[A BÍBLIA DO EXCEL]: Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1338 | Editora: Instituto Alpha

 

[A BÍBLIA DO EXCEL]: Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos Passo a Passo

Todos os livros com dezenas de horas de vídeo aulas de bônus, preço especial (alguns com 50% de desconto). Aproveite. São poucas unidades de cada livro e por tempo limitado.

Dúvidas?

Utilize a área de comentários a seguir.

Me ajude a divulgar este conteúdo gratuito!

Use a área de comentários a seguir, diga o que achou desta lição, o que está achando do curso.
Compartilhe no Facebook, no Google+, Twitter e Pinterest.

Indique para seus amigos. Quanto mais comentários forem feitos, mais lições serão publicadas.

Quer receber novidades e e-books gratuitos?
›››

Novidades e E-books grátis

Fique por dentro das novidades, lançamento de livros, cursos, e-books e vídeo-aulas, e receba ofertas de e-books e vídeo-aulas gratuitas para download.



Institucional

  • Quem somos
  • Garantia de Entrega
  • Formas de Pagamento
  • Contato
  • O Autor
  • Endereço

  • Júlio Battisti Livros e Cursos Ltda
  • CNPJ: 08.916.484/0001-25
  • Rua Vereador Ivo Cláudio Weigel, 537 Universitário
  • Santa Cruz do Sul/RS
  • CEP 96816-208
  • Todos os direitos reservados, Júlio Battisti 2001-2017 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI