Contar datos en una tabla
hey tengo una preguntita.. Es que tú me ayudaste con una base de datos yo necesito juntar todos los libros de un tema y que lleven un correlativo esto es lo que tú me mandaste (yo también tengo dos tablas una de libros y otra de temas):
Yo tendría dos tablas por ej. LIbros y temas con la siguiente estructura
libros lib_id C(10), lib_descri C(30), lib_tema N(10)
temas tem_id N(10), tem_descri C(30)
La tabla de temas seria algo así:
tem_id tem_descri
1 Historietas
2 Novelas
3 Enciclopedias
4 Dramáticas.
Y así sucesivamente. Entonces tu tabla de libros podría ser así.l
lib_id Lib_descri lib_tema
001001 Platero y Yo 1
001002 Perurima 1
003001 Diccionario OCeano 3
003002 Diccionario xyz 3
003003 Dicionario Paleontologico 3
003004 Encilopedia de Anatomia 3
En este caso yo utilice los Ceros a la izquierda, pero 003004 seria 34 el cuarto libro del tema Enciclopedias, es decir todos los que son del tema enciclopedias debería empezar con 3, así el código 003002 es el segundo libro del tema 3, entonces comienza el programa pidiendo primero el tema, al pedir tema se de contar cuantos libros tenemos ya en ese tema y le sumamos uno.
Por ejemplo con este código.
calculate count(lib_tema) for lib_tema = thisform.text1.value to a
a=a+1
Con esto ya tenemos en la variable "a" el código siguiente del tema, seria así la generación del código.
xNuevoCodigo = padl(alltr(str(thisform.text1.value)),3,'0')+padl(alltr(str(a)),3,'0')
Pero no pasa del número uno, y en mi tabla de tema y libro el código está como carácter ya que se genera de la siguiente manera 001 .. 010 .. 100 hasta 999 etc.. Y todos los códigos están como carácter me preguntaba si eso es lo que está afectando y si me podrías ayudar a manera de no cambiar la estructura de los códigos ya que de esa manera me los solicitan ... Gracias! :)
Yo tendría dos tablas por ej. LIbros y temas con la siguiente estructura
libros lib_id C(10), lib_descri C(30), lib_tema N(10)
temas tem_id N(10), tem_descri C(30)
La tabla de temas seria algo así:
tem_id tem_descri
1 Historietas
2 Novelas
3 Enciclopedias
4 Dramáticas.
Y así sucesivamente. Entonces tu tabla de libros podría ser así.l
lib_id Lib_descri lib_tema
001001 Platero y Yo 1
001002 Perurima 1
003001 Diccionario OCeano 3
003002 Diccionario xyz 3
003003 Dicionario Paleontologico 3
003004 Encilopedia de Anatomia 3
En este caso yo utilice los Ceros a la izquierda, pero 003004 seria 34 el cuarto libro del tema Enciclopedias, es decir todos los que son del tema enciclopedias debería empezar con 3, así el código 003002 es el segundo libro del tema 3, entonces comienza el programa pidiendo primero el tema, al pedir tema se de contar cuantos libros tenemos ya en ese tema y le sumamos uno.
Por ejemplo con este código.
calculate count(lib_tema) for lib_tema = thisform.text1.value to a
a=a+1
Con esto ya tenemos en la variable "a" el código siguiente del tema, seria así la generación del código.
xNuevoCodigo = padl(alltr(str(thisform.text1.value)),3,'0')+padl(alltr(str(a)),3,'0')
Pero no pasa del número uno, y en mi tabla de tema y libro el código está como carácter ya que se genera de la siguiente manera 001 .. 010 .. 100 hasta 999 etc.. Y todos los códigos están como carácter me preguntaba si eso es lo que está afectando y si me podrías ayudar a manera de no cambiar la estructura de los códigos ya que de esa manera me los solicitan ... Gracias! :)
1 respuesta
Respuesta de davsoft
1