Problema de consulta del subformulario de la versión access03
El contenido del formulario de las condiciones de consulta y el contenido del formulario del código no son coherentes con los nombres de los formularios reales. Compruebe cuáles son los nombres del formulario principal y del subformulario.
Has confundido el "nombre" del subformulario y el "objeto fuente" del subformulario. Un subformulario sólo puede tener un "nombre", pero puede mostrar diferentes subformularios cambiando el "objeto fuente".
Te cuento alguna experiencia:
Desarrolla hábitos de programación estandarizados, incluidas convenciones de nomenclatura.
Los formularios que tienen otros objetos (tablas, consultas, informes, campos...) se etiquetan mejor en inglés. Para facilitar la migración futura de la base de datos
Los nombres de los objetos y controles no deben tener espacios y los nombres no deben ser números puros. Si desea separar varias palabras, puede usar "_" para conectarlas. /p>
Nombres de subformulario No es lo mismo que el objeto fuente del subformulario. Para evitar confusiones, puede nombrar el subformulario según el nombre del objeto fuente.
El siguiente es un blog de un internauta:
Mi convención de nomenclatura:
1. Utilice únicamente nombres en inglés
2. nombres más cortos
3. Los objetos deben clasificarse y los objetos similares comienzan con el mismo prefijo.
A algunas personas les puede doler la cabeza cuando escuchan inglés, pero en realidad no es muy útil. ¡También es relativamente simple!
Por ejemplo, una base de datos tiene objetos como pedidos, piezas, inventario, etc.
También puede haber contenido público, como departamentos, usuarios, mensajes, sistemas y otros objetos
Permítanme dar algunos ejemplos para ilustrar.
1. Nombramiento de tablas
Objetos públicos:
Tabla de departamentos: CMN_Dept
Tabla de empleados: CMN_Employee
Tabla de mensajes: CMN_MSG
Objeto del sistema:
Diccionario del sistema: sys_CDMS
Registro del sistema: sys_Log
Objeto del sistema: SYS_Object p >
Permiso de objeto: SYS_Right_Object
Permiso de usuario: SYS_Right_User
Usuario del sistema: SYS_UserMS
Objeto de pedido:
Tabla de propietario de pedido : order_Main
Detalles del pedido: order_List
Factura del pedido: order_Invo
Objeto de pieza
Tabla maestra de piezas: Part_Main
...
2. Los nombres de los campos también deben estar estandarizados, intentar que estén en inglés y reflejar el contenido de los campos.
Por ejemplo:
Part_No
Part_Name
Part_State
Part_Class
Stock_Flag
Part_Spec
Entrada_Usuario
Entrada_Fecha
Actualización_Usuario
Actualización_Fecha
......
3. el nombre del formulario debe comenzar con el nombre del objeto
order_Entry
order_EntrySub1
order_EntrySub2
Order_Query
Order_QuerySub p>
Part_Entry
Part_query
……
SYS_Login
SYS_About
…… p>
4, controles en el formulario
El cuadro de texto debe corresponder preferiblemente al campo y debe tener el prefijo
edtPart_No
edtPart_Name
edtPart_State
...
El botón debe reflejar mejor su función correspondiente y debe tener el prefijo
btnSave
btnSearch
btnClear
......
5. La denominación de informes se refiere a la denominación de formularios
6.
7. Nomenclatura de procedimientos
Procedimientos y funciones en módulos públicos (cf-función pública cp-procedimiento público)
Función pública cfGetMsg(pMsgCode As String, pCL Como cadena) Como cadena
Función pública cfChkSysMonth( ) Como booleano
Sub pública cpChkEntryMode(pMode como byte)
Sub pública cpLoadSysRightData()
Procedimientos y funciones en formularios
Private Sub prSetInitialize(pMode As String)
Private Sub prClear()
Función fnChkDataModify(pMode As Byte) As Booleana
Función fnChkDataBeforeSave() como booleana
……
Control
Los eventos se pueden generar directamente usando el sistema.
Las variables en el código deben estar en inglés. He visto que se usan variables chinas, que se pueden usar, pero siempre se siente extraño y realmente no se recomienda.
8. Módulo
Público: SYS_System
Usado por HSMS: HSMS
Usado por PSMS: PSMS
......
Las anteriores son las reglas generales de nomenclatura.
Por supuesto, no puedes nombrar estos nombres todos a la vez. Si realmente quieres hacerlo bien, a menudo modificarás los nombres de la tabla o del campo a la mitad y luego lo harás uno por uno. Modificar objetos relacionados. A menudo lucho así, ¡la búsqueda de la perfección mata a la gente!
Pero debes tener un plan a este respecto desde el principio, no lo pienses y lo hagas de manera casual. Más caótico. Al final, tienes que comprobarlos uno por uno para saber qué objeto hace qué.
Incluso, si a menudo ayudas a otros a desarrollar cosas pequeñas, debes desarrollar múltiples sistemas en una base de datos y darle a cada sistema un nombre escrito como prefijo del objeto del sistema. El desarrollo y la modificación se llevan a cabo en esta base de datos y luego se separan al publicarse. Si hay muchos datos, puede crear las tablas de cada sistema en sus propias bases de datos, luego vincularlas en la base de datos de desarrollo y luego desarrollarlas y modificarlas. Porque esto permite el uso de objetos del sistema y objetos públicos. Si se modifican el sistema y los objetos públicos, los sistemas respectivos pueden compartir la modificación. Los beneficios de este enfoque se conocerán una vez que lo utilice.
Por ejemplo, sistema de gestión personal = PIMS (sistema de gestión de información personal), su objeto se llama:
--Tabla
PIMS_CDMS
PIMS_Dary
PIMS_Dgst
……?
--Formulario
PIMS_Dary_Entry
PIMS_Dary_Sub
PIMS_Dgst
PIMS_CDMS
...
Por ejemplo, sistema de gestión de compras y ventas = PSMS (Sistema de gestión de compras/ventas) , su objeto se llama:
--Table
PSMS_Order
PSMS_Stock
PSMS_Ware
……
--Ventana
PSMS_EN_Ware
PSMS_EN_Order_Purchase
PSMS_EN_Order_PurchaseSub
PSMS_EN_Order_Sale
PSMS_EN_Order_SaleSub
PSMS_CDMS
......
Casi hacía tiempo que quería escribir sobre esto. Pero siempre he sido vago y me sentí desorganizado así que no podía escribirlo.
Hoy aproveché el estado de ánimo y lo escribí todo de una vez, ¡qué suerte!
Algunos de los ejemplos de nombres anteriores provienen de mi base de datos y otros fueron inventados por mí. Son sólo para su referencia.
Los estándares deben ser determinados por cada individuo y no son fijos. ¡Espero que sean útiles para todos!