• Jueves 14 de Noviembre de 2024, 18:56

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - kofkurne

Páginas: [1]
1
Bases de Datos / Ordenar La Búsqueda
« en: Martes 21 de Febrero de 2006, 18:22 »
Hola a todos.
Tengo una base de datos con una tabla: tabla1, en esta tabla sólo he puesto dos campos: referencia1 y referencia2.
referencia1 tiene estos registros: 1,5,15,13
referencia2 tiene estos registros: 2,17,7,22

He accedido a la base de datos mediante un control de datos Data.
Yo lo que he hecho es seleccionar todos los registros de la tabla1 (es decir, todos los registros de los campos referencia1 y referencia2) que comiencen por 1.
Lo he conseguido de este modo:
Código: Text
  1.     Data1.RecordSource = "SELECT * FROM Tabla1 WHERE referencia2 LIKE '1*' or referencia1 LIKE '1*' "
  2.  
  3.  

Pero mi pregunta es: ¿Cómo puedo conseguir ordenar los registros para que se ordenen según he hecho en Data1.RecordSource?

Es decir, si yo tengo un textbox en mi formulario que enlaza a la referencia2 al pasar los registros uno a uno tendría que ver este orden: 2,22,7,17. ¿Entendéis mi pregunta verdad?

Muchísimas gracias por la ayuda.

2
Visual Basic 6.0 e inferiores / Sobre Menú
« en: Martes 7 de Febrero de 2006, 19:47 »
Hola!!
Tengo un formulario con sólo un Textbox y un módulo.
Lo que quiero hacer es que cuando en el textbox pulse con el botón derecho y seleccione la opción -lectura de derecha a izquierda- ese menú emergente se cierre y que esa opción -lectura de derecha a izquierda- no sea ejecutada.

Yo a lo máximo que he llegado ha sido a interceptar cuando paso el cursor, por encima de la opción: -lectura de derecha a izquierda-. Pero me es imposible cerrar el menú y aparte interceptar cuando se pulse la opción y no como he hecho yo cuando paso el cursor..

Tal vez sea algo complicado, pero a ver si alguien me echa una mano..
Dejo el código para que probéis lo que digo:

En el formulario hay un Textbox. Este es el simple código que hay que poner en el formulario:
Código: Text
  1. Private Sub Form_Load()
  2.     Activa
  3. End Sub
  4.  
  5. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  6.     Desactiva
  7. End Sub
  8.  

Y este código en el módulo:

Código: Text
  1. Option Explicit
  2.  
  3. Public Declare Function SetWindowLong Lib "user32" Alias _
  4. "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, _
  5. ByVal dwNewLong As Long) As Long
  6.  
  7. Public Declare Function CallWindowProc Lib "user32" _
  8. Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, _
  9. ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, _
  10. ByVal lParam As Long) As Long
  11.  
  12.  
  13. Public Const GWL_WNDPROC = (-4)
  14. Global PrevWndProc As Long
  15.  
  16. Public Sub Activa()
  17.     PrevWndProc = SetWindowLong(Form1.Text1.hWnd, GWL_WNDPROC, AddressOf interceptar)
  18. End Sub
  19.  
  20. Public Sub Desactiva()
  21.   Dim temp As Long
  22.     temp = SetWindowLong(Form1.Text1.hWnd, GWL_WNDPROC, PrevWndProc)
  23. End Sub
  24.  
  25. Public Function interceptar(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  26.     If Msg = &H11F Then 'WM_MENUSELECT = &H11F
  27.         If wParam = -2139062272 Then 'Es el parámetro wParam correspondiente.
  28.             Debug.Print "Has pasado sobre -lectura de derecha a izquierda- " & Now & ""
  29.             interceptar = True
  30.         End If
  31.     Else
  32.         interceptar = CallWindowProc(PrevWndProc, hWnd, Msg, wParam, lParam)
  33.     End If
  34. End Function
  35.  

Gracias

Páginas: [1]