COMO ACESSAR VARIAVEIS DE UM FORM AO OUTRO?

SHELLYWEBSTER 23/09/2009 19:09:30
#323541
Olá sou iniciante em VB, gostaria de saber como posso acessar as variaveis do form pelo mod?
Esse é o meu mod, as variaveis que se encontram nele pertence ao form frmDicionarioEntidadeColuna. Como fazer isso?

Option Explicit

Public Function geraCodigoMSSql() As Boolean

Dim fso, txtfile, qryDB As String, qryCT As String, qryDP As String, qryAL As String

qryDB = [Ô]CREATE DATABASE [Ô] & CamponomeBanco & [Ô];[Ô]
qryCT = [Ô]CREATE TABLE [Ô] & CampoColuna & [Ô]([Ô] & CampoIdTipoDado & [Ô][Ô] & CampoCaracteres & [Ô][Ô] & CampoChave & [Ô]);[Ô]
qryDP = [Ô]DROP TABLE [Ô] & CampoColuna & [Ô]);[Ô]
qryAL = [Ô]ALTER TABLE [Ô] & CampoColuna & [Ô]);[Ô]



Set fso = CreateObject([Ô]Scripting.FileSystemObject[Ô])
Set txtfile = fso.CreateTextFile([Ô]\\srvmlink\usuarios\sheila\documentos\projetos\DiconarioDeDados\Prg[Ô] & CamponomeDicionario & [Ô].sql[Ô], True)

txtfile.Write (qryDB)
txtfile.WriteBlankLines (2)
txtfile.Write (qryCT)
txtfile.WriteBlankLines (2)
txtfile.Write (qryDP)
txtfile.WriteBlankLines (2)
txtfile.Write (qryAL)
txtfile.WriteBlankLines (2)
txtfile.Close
msg.Mensagem [Ô]Dicionário [Ô] & CamponomeDicionario & [Ô][Ô] & Campoversao & [Ô] criado com Sucesso![Ô], vbInformation

Set txtfile = Nothing
Set fso = Nothing



End Function

Obrigado
TECLA 24/09/2009 00:16:25
#323551
A sua dúvida está um pouco confusa.
Dê mais detalhes do que está tentando fazer.
ROBIU 24/09/2009 08:59:47
#323560
Resposta escolhida
Se sua função será usada em mais de um form, ela deve ficar em um módulo. Se á função precisa receber valores extermos, esses valores devem sem passados por argumentos da função. Ex.

Option Explicit
Dim FSO As FileSystemObject
Public Function geraCodigoMSSql(NomeBanco As String, NomeColuna As String, IdTipoDado As Integer, Caracteres As String, Chave As String) As Boolean
Dim FSO, txtfile, qryDB As String, qryCT As String, qryDP As String, qryAL As String

qryDB = [Ô]CREATE DATABASE [Ô] & CampoNomeBanco & [Ô];[Ô]
qryCT = [Ô]CREATE TABLE [Ô] & CampoColuna & [Ô]([Ô] & CampoIdTipoDado & [Ô][Ô] & CampoCaracteres & [Ô][Ô] & CampoChave & [Ô]);[Ô]
qryDP = [Ô]DROP TABLE [Ô] & CampoColuna & [Ô]);[Ô]
qryAL = [Ô]ALTER TABLE [Ô] & CampoColuna & [Ô]);[Ô]

Set FSO = CreateObject([Ô]Scripting.FileSystemObject[Ô])
Set txtfile = FSO.CreateTextFile([Ô]\\srvmlink\usuarios\sheila\documentos\projetos\DiconarioDeDados\Prg[Ô] & CamponomeDicionario & [Ô].sql[Ô], True)

txtfile.Write (qryDB)
txtfile.WriteBlankLines (2)
txtfile.Write (qryCT)
txtfile.WriteBlankLines (2)
txtfile.Write (qryDP)
txtfile.WriteBlankLines (2)
txtfile.Write (qryAL)
txtfile.WriteBlankLines (2)
txtfile.Close
msg.Mensagem [Ô]Dicionário [Ô] & CamponomeDicionario & [Ô][Ô] & Campoversao & [Ô] criado com Sucesso![Ô], vbInformation

Set txtfile = Nothing
Set FSO = Nothing

End Function


Para chamar no form:

geraCodigoMSSql CampoNomeBanco, CampoColuna, CampoIdTipoDado, CampoCaracteres, CampoChave

[ô]OU ASSIM

Call geraCodigoMSSql(CampoNomeBanco, CampoColuna, CampoIdTipoDado, CampoCaracteres, CampoChave)


OBS: Isso é um exemplo. Você deve ajustar sua função + ou - assim. Note que os tipos de parametros podem não ser como informei (NomeColuna as String - Se for nome da coluna, Se for Id da coluna, seria integer)

Agora em relação ao título do seu tópico, segue um exemplo: Note que você deve declarar a variável como pública e chamar com chama as propriedades:

Form1.MinhaVariavel ...




MAFACILITY 24/09/2009 19:18:07
#323609
COMO DISSE NOSSO COLEGA ROBIU, DECLARE SUA VARIÁVEL(PÚBLICA) EM MÓDULO, QUE ELA TERÁ VISIBILIDADE EM TODOS OS FORMULÁRIOS.
Tópico encerrado , respostas não são mais permitidas