Visual Basic - Pasar a una funcion un form y una caja de texto

Life is soft - evento anual de software empresarial
 
Vista:

Pasar a una funcion un form y una caja de texto

Publicado por David (19 intervenciones) el 28/06/2005 13:26:32
Mi duda es la siguiente
Al dar una alta en una BD al meter un campo que esta asociado con otra BD mi intencion es que al pulsar F2 salte otro formulario con una grilla con los valores que pueden meter.
el problema es que a la funcion de ese formulario que retorna el valor elegido a la caja de texto no se como indicarle en que caja de texto tiene que meter el valor.

he probado con:

Set Formulario = Form30
Set Caja = Form30.txtProceso

y en la funcion:

Private Sub Funcion(Formu As Form, Cajas As TextBox)
Formu.Cajas.Text = Form31.SSDBGrid.Columns(0).Text
Form31.Hide
Form31.SSDBGrid.Columns.RemoveAll
End Sub

pero no me va.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pasar a una funcion un form y una caja de texto

Publicado por pakito_chocolatero (1 intervención) el 28/06/2005 13:36:30
No se ase asi esto es mucho mas complicado mira pon este codigo:

Option Explicit

Public Enum eTipoRegistro
eMaquinaLocal = 0
eUsuarioActual = 1
eRaizClases = 2
eConfiguracionActual = 3
End Enum

Public Enum eTipoDato
eBinario = 0
eString = 1
eEntero = 2
End Enum

Public Function LeerValor(ByVal pvTipoRegistro As eTipoRegistro, _
ByVal pvLlave As String, _
ByVal pvValor As String, _
ByVal pvDefecto As Variant) As Variant
Dim vll_ValRet As Long
Dim vll_DirReg As Long
Dim vll_hKey As Long
Dim vlx_Dato As Variant
Dim vll_TipoDato As Long
Dim vls_DirReg As String
Dim vloWScript As Object

On Error Resume Next

Select Case pvTipoRegistro
Case eTipoRegistro.eMaquinaLocal
vll_DirReg = HKEY_LOCAL_MACHINE
vls_DirReg = "HKEY_LOCAL_MACHINE"
Case eTipoRegistro.eUsuarioActual
vll_DirReg = HKEY_CURRENT_USER
vls_DirReg = "HKEY_CURRENT_USER"
Case eTipoRegistro.eRaizClases
vll_DirReg = HKEY_CLASSES_ROOT
vls_DirReg = "HKEY_CLASSES_ROOT"
Case eTipoRegistro.eConfiguracionActual
vll_DirReg = HKEY_CURRENT_CONFIG
vls_DirReg = "HKEY_CURRENT_CONFIG"
End Select

vll_ValRet = RegOpenKeyEx(vll_DirReg, pvLlave, 0, KEY_ALL_ACCESS, vll_hKey)

If vll_ValRet = 0 Then
Set vloWScript = CreateObject("WScript.Shell")
vlx_Dato = vloWScript.RegRead(vls_DirReg & "\" & pvLlave & "\" & pvValor)
If Err.Number <> 0 Then
vlx_Dato = pvDefecto
End If
If StrComp(vlx_Dato, vls_DirReg & "\" & pvLlave & "\" & pvValor, vbTextCompare) = 0 Then
vlx_Dato = pvDefecto
End If
Set vloWScript = Nothing
Else
vlx_Dato = pvDefecto
End If

LeerValor = vlx_Dato
End Function

Public Function GuardarLlave(ByVal pvTipoRegistro As eTipoRegistro, _
ByVal pvLlave As String) As Long
Dim vll_ValRet As Long
Dim vll_DirReg As Long
Dim vll_hKey As Long
Dim vll_Bandera As Long
Dim vle_Atributos As SECURITY_ATTRIBUTES
Dim vls_DirReg As String

Select Case pvTipoRegistro
Case eTipoRegistro.eMaquinaLocal
vll_DirReg = HKEY_LOCAL_MACHINE
vls_DirReg = "HKEY_LOCAL_MACHINE"
Case eTipoRegistro.eUsuarioActual
vll_DirReg = HKEY_CURRENT_USER
vls_DirReg = "HKEY_CURRENT_USER"
Case eTipoRegistro.eRaizClases
vll_DirReg = HKEY_CLASSES_ROOT
vls_DirReg = "HKEY_CLASSES_ROOT"
Case eTipoRegistro.eConfiguracionActual
vll_DirReg = HKEY_CURRENT_CONFIG
vls_DirReg = "HKEY_CURRENT_CONFIG"
End Select

vle_Atributos.nLength = Len(vle_Atributos)
vle_Atributos.bInheritHandle = 1
vle_Atributos.lpSecurityDescriptor = 0

vll_ValRet = RegCreateKeyEx(vll_DirReg, pvLlave, 0, "", 0, KEY_ALL_ACCESS, vle_Atributos, vll_hKey, vll_Bandera)

If vll_ValRet = 0 Then vll_ValRet = RegCloseKey(vll_hKey)

GuardarLlave = vll_ValRet
End Function

Public Function GuardarValor(ByVal pvTipoRegistro As eTipoRegistro, _
ByVal pvLlave As String, _
ByVal pvValor As String, _
ByVal pvDato As Variant, _
ByVal pvTipoDato As eTipoDato) As Long
Dim vll_ValRet As Long
Dim vll_DirReg As Long
Dim vll_hKey As Long
Dim vls_Dato As String
Dim vll_Dato As Long
Dim vls_DirReg As String
Dim vls_TipoDato As String
Dim vloWScript As Object

Select Case pvTipoDato
Case eTipoDato.eBinario
vls_TipoDato = "REG_BINARY"
Case eTipoDato.eEntero
vls_TipoDato = "REG_DWORD"
Case eTipoDato.eString
vls_TipoDato = "REG_SZ"
End Select

Select Case pvTipoRegistro
Case eTipoRegistro.eMaquinaLocal
vll_DirReg = HKEY_LOCAL_MACHINE
vls_DirReg = "HKEY_LOCAL_MACHINE"
Case eTipoRegistro.eUsuarioActual
vll_DirReg = HKEY_CURRENT_USER
vls_DirReg = "HKEY_CURRENT_USER"
Case eTipoRegistro.eRaizClases
vll_DirReg = HKEY_CLASSES_ROOT
vls_DirReg = "HKEY_CLASSES_ROOT"
Case eTipoRegistro.eConfiguracionActual
vll_DirReg = HKEY_CURRENT_CONFIG
vls_DirReg = "HKEY_CURRENT_CONFIG"
End Select

If Left(pvLlave, 1) = "\" Then pvLlave = Right(pvLlave, Len(pvLlave) - 1)
vll_ValRet = RegOpenKeyEx(vll_DirReg, pvLlave, 0, KEY_ALL_ACCESS, vll_hKey)

If vll_ValRet = 0 Then
If Not IsEmpty(pvDato) Then
Set vloWScript = CreateObject("WScript.Shell")
vloWScript.RegWrite vls_DirReg & "\" & pvLlave & "\" & pvValor, pvDato, vls_TipoDato
Set vloWScript = Nothing
End If

vll_ValRet = RegCloseKey(vll_hKey)
End If

GuardarValor = vll_ValRet
End Function

Public Function BorrarValor(ByVal pvTipoRegistro As eTipoRegistro, _
ByVal pvLlave As String, _
ByVal pvValor As String) As Long
Dim vll_ValRet As Long
Dim vll_DirReg As Long
Dim vll_hKey As Long
Dim vls_DirReg As String

Select Case pvTipoRegistro
Case eTipoRegistro.eMaquinaLocal
vll_DirReg = HKEY_LOCAL_MACHINE
vls_DirReg = "HKEY_LOCAL_MACHINE"
Case eTipoRegistro.eUsuarioActual
vll_DirReg = HKEY_CURRENT_USER
vls_DirReg = "HKEY_CURRENT_USER"
Case eTipoRegistro.eRaizClases
vll_DirReg = HKEY_CLASSES_ROOT
vls_DirReg = "HKEY_CLASSES_ROOT"
Case eTipoRegistro.eConfiguracionActual
vll_DirReg = HKEY_CURRENT_CONFIG
vls_DirReg = "HKEY_CURRENT_CONFIG"
End Select

vll_ValRet = RegOpenKeyEx(vll_DirReg, pvLlave, 0, KEY_ALL_ACCESS, vll_hKey)

If vll_ValRet = 0 Then
vll_ValRet = RegDeleteValue(vll_hKey, pvValor)

vll_ValRet = RegCloseKey(vll_hKey)
End If

BorrarValor = vll_ValRet
End Function

Public Function BorrarLlave(ByVal pvTipoRegistro As eTipoRegistro, _
ByVal pvLlave As String) As Long
Dim vll_ValRet As Long
Dim vll_DirReg As Long
Dim vll_hKey As Long
Dim vls_DirReg As String

Select Case pvTipoRegistro
Case eTipoRegistro.eMaquinaLocal
vll_DirReg = HKEY_LOCAL_MACHINE
vls_DirReg = "HKEY_LOCAL_MACHINE"
Case eTipoRegistro.eUsuarioActual
vll_DirReg = HKEY_CURRENT_USER
vls_DirReg = "HKEY_CURRENT_USER"
Case eTipoRegistro.eRaizClases
vll_DirReg = HKEY_CLASSES_ROOT
vls_DirReg = "HKEY_CLASSES_ROOT"
Case eTipoRegistro.eConfiguracionActual
vll_DirReg = HKEY_CURRENT_CONFIG
vls_DirReg = "HKEY_CURRENT_CONFIG"
End Select

vll_ValRet = RegDeleteKey(vll_DirReg, pvLlave)

BorrarLlave = vll_ValRet
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pasar a una funcion un form y una caja de texto

Publicado por carlos (101 intervenciones) el 28/06/2005 17:53:47
mira, no se si entendi bien y si es esto lo que quieres, para pasar el contenido de un form a otro podrias pobrar con lo sgte.

en un boton, o en el evento click de la grilla pon lo sgte

[ElOtroForm].[LaCajadeTexto]=[Grilla.Columns(0).Text]
unload [FormdeLaGrilla]

si no es eso dime...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar