EL CONTEXTO GEOGRAFICO



Los Antiguos Egipcios Dividian Agricolamente Su Pais En Dos Zonas Denominadas "Tierra Negra" (Area Fecundada Por Limo Rico Esparcido Por Las Inundaciones) Y "Tierra Roja" (La Zona De Horrible Aridez A La Que Nosotros Denominamos Desierto). La Autodescripcion Que De Su Tierra Relaizaban Los Egipcios Obliga A Ver El Pais Como Un Fruto Nacido Al Amor De La Corriente Del Nilo, Que Lo Cruza Dese Los Confines Del �frica Negra Hasta El Delta, Desembocando Finalmente En Las Aguas Del Mar Mediterr�neo.

Actualmente Egipto Presenta Una Extensi�n De 1,001,449kilometros Cuadrados De Superficie. Pero Pese A La Misma Continuan Siendo De Libia Que Abarca Las Dos Terceras Partes Del Pais (710,000km2). Al Este Del Nilo Esta El Desierto Ar�bigo Con Una Superficie De 222,000km2. Los Datos Numericos, Una Vez Mas Son Elocuentes. Apenas Un 10% Del Pais Es Lo Que El Desierto Ha Salvado Del Ardiente Abrazo De Sus Arenas.

La Tierra Limosa Que Caracteriza Al Egipto F�rtil Se Transforma En Una Region Absolutamente Inh�spita Donde El Viajero Solo Encuentra Piedra Y Arenas. Es Una Zona Que Penetra Cerca De Millar Y Medio De Km En El Sudan. Se Alcanza La Primera Catarata En Las Cercanias De La Isla De Elefantina. Desde La Isla De File Hasta La Segunda Catarata Se Encuentra El Miserable Territorio De La Baja Nubia. En Ella No Resulta Extra�o Que Las Arenas Del Desierto O Los Pedregosos Acantilados Lleguen Literalmente Hasta Las Aguas Del Rio. A Partir De La Segunda Catarata La Desertizacion Se Hace Aun Mayor, Las Poblaciones Son Muy Escazas Y Lo Mismo Se Puede Decir De Los Cultivos. Alli Daba Comienzo La Tierra De Kush, Que Conocemos Tambien Por Las Referencias Que Se Hace De La Misma En El Antiguo Testamento. A Unos 500 Km De Jartum, Hoy En El Sudan, Se Hallan Inscripciones De Que Hasta Alli Llegaron En Sus Campa�as Los Reyes Tutmosis I Y Tutmosis III.




PAGINA PRINCIPAL




Reportes


Dim strSQL As String
Private Sub CmdOpcion_Click(Index As Integer)
Dim wRes As Integer
Dim strQry As String
Select Case Index
Case 0 'Aceptar
If TxtProveedor.Text > 0 Then
strQry = "Delete * from TblPasoMovEntE"
dbDIA.Execute strQry

strQry = "Insert Into TblPasoMovEntE(MovEntCd, MovEntFh, MovEntNoFac, ProvCd, MovEntSt) "
strQry = strQry + "Select MovEntCd, MovEntFh, MovEntNoFac, ProvCd, MovEntSt from TblMovEntE Where ProvCd = " + TxtProveedor '+ " and Format([MovEntFh],'mm/dd/aa') >= #" + Format(TxtFhIni.Text, "dd/mm/yy") + "# and Format([MovEntFh],'mm/dd/aa') <= #" + Format(TxtFhFin.Text, "dd/mm/yy") + "#"
dbDIA.Execute strQry

strQry = "Insert Into TblPasoMovEntD(MovEntCd, ArtCd, MovEntQt) "
strQry = strQry + "Select TblMovEntD.MovEntCd, ArtCd, MovEntQt from TblMovEntD, TblMovEntE Where TblMovEntE.MovEntCd = TblMovEntD.MovEntCd And ProvCd = " + TxtProveedor '+ " and Format(MovEntFh,'dd/mm/aaaa') >= #" + Format(TxtFhIni.Text, "dd/mm/yyyy") + "# and Format(MovEntFh,'dd/mm/aaaa') <= #" + Format(TxtFhFin.Text, "dd/mm/yyyy") + "#"
dbDIA.Execute strQry
texto = "{TblProveedores.ProvCd}= " & TxtProveedor.Text
CrystalReport2.SelectionFormula = texto
CrystalReport2.Destination = crptToWindow
CrystalReport2.PrintReport
Else
MsgBox "Favor de verificar los datos", vbInformation + vbOKOnly, "Asociado DIA"
End If
Case 1 'Salir
Unload Me
End Select
End Sub

Private Sub Form_Load()
TxtProveedor.Text = 0
TxtFhIni.Text = Date - 1
TxtFhFin.Text = Date + 1
End Sub

Private Sub TxtFhFin_LostFocus()
If Not IsDate(TxtFhFin.Text) Then
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
TxtFhFin.Text = Date + 1
TxtFhFin.SetFocus
Else
If TxtFhFin.Text < TxtFhIni.Text Then

MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
TxtFhFin.Text = TxtFhIni.Text
TxtFhFin.SetFocus
End If
End If
End Sub

Private Sub TxtFhIni_LostFocus()
If Not IsDate(TxtFhIni.Text) Then
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
TxtFhIni.Text = Date - 1
TxtFhIni.SetFocus
Else
If TxtFhIni.Text > TxtFhFin.Text Then
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
TxtFhIni.Text = TxtFhFin.Text
TxtFhIni.SetFocus
End If
End If
End Sub

Private Sub TxtProveedor_LostFocus()
Dim strQry As String
Dim snpVerifica As Recordset
If Not IsNumeric(TxtProveedor.Text) Then
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
TxtProveedor.Text = 0
TxtNombre.Text = ""
TxtProveedor.SetFocus Else
If TxtProveedor.Text > 0 Then
strQry = "Select ProvCd, ProvNb From TblProveedores Where ProvCd = " + TxtProveedor.Text
Set snpVerifica = dbDIA.OpenRecordset(strQry, dbOpenSnapshot)
If snpVerifica.RecordCount = 0 Then
MsgBox "No Existe el Proveedor", vbInformation + vbOKOnly, "Asociado DIA"
TxtProveedor.Text = 0
TxtNombre.Text = ""
TxtProveedor.SetFocus
Else
TxtNombre.Text = IIf(IsNull(snpVerifica!ProvNb), "", snpVerifica!ProvNb)
End If
snpVerifica.Close
Else
If TxtProveedor.Text < 0 Then
TxtProveedor.Text = 0
TxtNombre.Text = ""
TxtProveedor.SetFocus
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
End If
End If
End If
End Sub



Administrador de Proveedores



Dim strSQL As String
Private Sub CmdOpcion_Click(Index As Integer)
Dim wRes As Integer
Dim strQry As String
Select Case Index
Case 0 'Agregar
Clave = 0
Opcion = 0
altaproveedores.Show Modal
Case 1 'Modificar
If DataProveedor.Recordset.RecordCount > 0 Then
Clave = DataProveedor.Recordset!ProvCd
Opcion = 1
altaproveedores.Show Modal
Else
MsgBox "No hay Datos", vbInformation + vbOKOnly, "Asociado DIA"
End If
Case 2 'Eliminar
If DataProveedor.Recordset.RecordCount > 0 Then
wRes = MsgBox("Desea Eliminar el Registro Seleccionado", vbQuestion + vbYesNo, "Asociado DIA")
If wRes = 6 Then
strQry = "Delete * From TblProveedores Where ProvCd = " + Str(DataProveedor.Recordset!ProvCd)
dbDIA.Execute strQry
DataProveedor.Refresh
End If
Else
MsgBox "No hay Datos", vbInformation + vbOKOnly, "Asociado DIA"
End If
Case 3 'Salir
Unload Me
End Select
End Sub

Private Sub Form_Load()
strSQL = "Select ProvCd, ProvNb From TblProveedores Order by ProvCd"
DataProveedor.DatabaseName = App.Path + "\dbDIA.mdb"
DataProveedor.RecordSource = strSQL
DataProveedor.Refresh
End Sub

Private Sub TxtProveedor_LostFocus()
If Trim(TxtProveedor.Text) = "" Then
TxtProveedor.Text = "0"
End If
If Not IsNumeric(TxtProveedor.Text) Then
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
Else

If TxtProveedor.Text >= 0 Then
strSQL = "Select ProvCd, ProvNb From TblProveedores Where ProvCd >= " + TxtProveedor.Text + " Order by ProvCd"
DataProveedor.RecordSource = strSQL
DataProveedor.Refresh
Else
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
End If
End If End Sub



Salidas de articulos (frmventas)



Dim strSQL As String
Sub Actualiza_Total()
Dim snpTotal As Recordset
Dim strTotal As String
strTotal = "Select sum(MovSalPcT) as total from TblMovSalD Where MovSalSt = 0"
Set snpTotal = dbDIA.OpenRecordset(strTotal, dbOpenSnapshot)
If snpTotal.RecordCount > 0 Then
frmVentas.TxtTotal = IIf(IsNull(snpTotal!total), 0, snpTotal!total)
Else
frmVentas.TxtTotal = 0
End If
snpTotal.Close
End Sub

Private Sub CmdOpcion_Click(Index As Integer)
Dim wRes As Integer
Dim strQry As String
Select Case Index
Case 0 'Agregar
Clave = 0
Opcion = 0
ventasrealizadas.Show Modal
Case 1 'Modificar
If DataVentas.Recordset.RecordCount > 0 Then
Clave = DataVentas.Recordset!Clave
Opcion = 1
ventasrealizadas.Show Modal
Else
MsgBox "No hay Datos", vbInformation + vbOKOnly, "Asociado DIA"
End If
Case 2 'Eliminar
If DataVentas.Recordset.RecordCount > 0 Then
wRes = MsgBox("Desea Eliminar el Registro Seleccionado", vbQuestion + vbYesNo, "Asociado DIA")
If wRes = 6 Then
strQry = "Delete * From TblMovSalD Where MovSalSt = 0 And ArtCd = " + Str(DataVentas.Recordset!Clave)
dbDIA.Execute strQry
DataVentas.Refresh
Actualiza_Total
End If
Else
MsgBox "No hay Datos", vbInformation + vbOKOnly, "Asociado DIA"
End If
Case 3 'Registrar
If DataVentas.Recordset.RecordCount > 0 Then
wRes = MsgBox("Desea Guardar los Datos", vbQuestion + vbYesNo, "Asociado DIA")
If wRes = 6 Then
DataVentas.Recordset.MoveFirst
Do While Not DataVentas.Recordset.EOF
strQry = "Update TblArticulos Set "
strQry = strQry + "ArtQtEx = ArtQtEx - " + Str(DataVentas.Recordset!Cantidad)
strQry = strQry + " Where ArtCd = " + Str(DataVentas.Recordset!Clave)
dbDIA.Execute strQry
If Not DataVentas.Recordset.EOF Then
DataVentas.Recordset.MoveNext
Else
Exit Do
End If
Loop
strQry = "Update TblMovSalD Set MovSalSt = 1 Where MovSalSt = 0 "
dbDIA.Execute strQry
Unload Me
End If
Else
MsgBox "Favor de Proporcionar los Datos", vbInformation + vbOKOnly, "Asociado DIA"
End If
Case 4 'Salir
If DataVentas.Recordset.RecordCount > 0 Then
wRes = MsgBox("Desea Guardar los Datos", vbQuestion + vbYesNo, "Asociado DIA")
If wRes = 6 Then
DataVentas.Recordset.MoveFirst
Do While Not DataVentas.Recordset.EOF
strQry = "Update TblArticulos Set "
strQry = strQry + "ArtQtEx = ArtQtEx - " + Str(DataVentas.Recordset!Cantidad)
strQry = strQry + " Where ArtCd = " + Str(DataVentas.Recordset!Clave)
dbDIA.Execute strQry
If Not DataVentas.Recordset.EOF Then
DataVentas.Recordset.MoveNext
Else
Exit Do
End If
Loop
strQry = "Update TblMovEntE Set MovEntSt = 1 Where MovEntCd = " + Str(Movimiento)
Else
strQry = "Delete * From TblMovSalD Where MovSalSt = 0 "
End If
dbDIA.Execute strQry
Else
strQry = "Delete * From TblMovSalD Where MovSalSt = 0"
dbDIA.Execute strQry
End If
Unload Me
End Select
End Sub

Private Sub Form_Load()
TxtTotal.Text = 0
strSQL = "Select TblMovSalD.ArtCd as Clave, ArtNb as Nombre, MovSalQt as Cantidad, MovSalPcU as PUnitario, MovSalPcT as PTotal From TblMovSalD, TblArticulos Where TblMovSalD.ArtCd = TblArticulos.ArtCd And TblMovSalD.MovSalSt = 0 Order by TblMovSalD.ArtCd"
DataVentas.DatabaseName = App.Path + "\dbDIA.mdb"
DataVentas.RecordSource = strSQL
DataVentas.Refresh
Actualiza_Total
End Sub



ventas realizadas (las salidas, la ventana que mustra cuando vas a vender un articulo )



Dim QtEx As Double
Dim PcUn As Double
Sub Obt_Exi_Art()
Dim strQry As String
Dim snpVerifica As Recordset
strQry = "Select ArtQtEx, ArtPcV From TblArticulos Where ArtCd = " + txt_noarticulo
Set snpVerifica = dbDIA.OpenRecordset(strQry, dbOpenSnapshot)
If snpVerifica.RecordCount > 0 Then
QtEx = IIf(IsNull(snpVerifica!ArtQtEx), 0, snpVerifica!ArtQtEx)
PcUn = IIf(IsNull(snpVerifica!ArtPcV), 0, snpVerifica!ArtPcV)
Else
QtEx = 0
PcUn = 0
End If
snpVerifica.Close
End Sub
Private Sub CmdOpcion_Click(Index As Integer)
Dim strQry As String
Dim wRes As Integer
Dim snpObtMov As Recordset
Dim PrecioTot As Double
Select Case Index
Case 0 'Aceptar
wRes = MsgBox("�Desea Guardar los Datos?", vbQuestion + vbYesNo, "Asociado DIA")
If wRes = 6 Then 'Si
Select Case Opcion
Case 0 'Agrega
r If txt_noarticulo > 0 And txt_cantidad > 0 Then
PrecioTot = Val(txt_cantidad) * PcUn

'Guarda Datos
strQry = "Insert Into TblMovSalD (MovSalFh, ArtCd, MovSalQt, MovSalPcU, MovSalPcT, MovSalSt) "
strQry = strQry + "Values ( now(), " + txt_noarticulo + ", " + txt_cantidad + ", " + Str(PcUn) + "," + Str(PrecioTot) + ",0 )"
dbDIA.Execute strQry
frmVentas.DataVentas.Refresh
frmVentas.Actualiza_Total
Unload Me
Else
MsgBox "Favor de Verificar los Datos", vbInformation + vbOKOnly, "Asociado DIA"
End If
Case 1 'Modificar
If txt_cantidad > 0 Then
PrecioTot = Val(txt_cantidad) * PcUn
strQry = "Update TblMovSalD Set "
strQry = strQry + "MovSalQt = " + txt_cantidad + ", "
strQry = strQry + "MovSalPcT = " + Str(PrecioTot) + " "
strQry = strQry + "Where MovSalSt = 0 and "
strQry = strQry + "ArtCd = " + txt_noarticulo
dbDIA.Execute strQry
frmVentas.DataVentas.Refresh
frmVentas.Actualiza_Total
Unload Me
Else
MsgBox "Favor de Verificar los Datos", vbInformation + vbOKOnly, "Asociado DIA"
End If
End Select
End If
Case 1 'Salir
Unload Me
End Select
End Sub

Private Sub Form_Load()
Me.Caption = "Art�culo"
If Opcion = 0 Then 'Alta
txt_noarticulo.Enabled = True
txt_noarticulo.Text = 0
txt_cantidad.Text = 0
Else
'Modificar
txt_noarticulo.Text = Clave
txt_noarticulo.Enabled = False
txt_nomarticulo.Text = frmVentas.DataVentas.Recordset!Nombre
txt_cantidad.Text = frmVentas.DataVentas.Recordset!Cantidad
Obt_Exi_Art
End If
End Sub

Private Sub txt_cantidad_LostFocus()
If Not IsNumeric(txt_cantidad.Text) Then
MsgBox "Favor de Proporcionar la Cantidad", vbInformation + vbOKOnly, "Asociado DIA"
txt_cantidad.Text = "0"
txt_cantidad.SetFocus
Else
If txt_cantidad.Text < 0 Then
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
txt_cantidad.Text = "0"
txt_cantidad.SetFocus
Else
If txt_cantidad.Text > 0 Then
If txt_cantidad.Text > QtEx Then
MsgBox "Favor de Verificar la Existencia del Art�culo", vbInformation + vbOKOnly, "Asociado DIA"
txt_cantidad.Text = "0"
txt_cantidad.SetFocus
End If
End If
End If
End If
End Sub

Private Sub txt_noarticulo_LostFocus()
Dim strQry As String
Dim snpVerifica As Recordset
If Not IsNumeric(txt_noarticulo.Text) Then
MsgBox "Favor de Proporcionar el Art�culo", vbInformation + vbOKOnly, "Asociado DIA"
txt_noarticulo.Text = "0"
txt_nomarticulo.Text = ""
txt_noarticulo.SetFocus
Else
If txt_noarticulo.Text > 0 Then
strQry = "Select ArtCd, ArtNb, ArtQtEx, ArtPcV From TblArticulos Where ArtCd = " + txt_noarticulo
Set snpVerifica = dbDIA.OpenRecordset(strQry, dbOpenSnapshot)
If snpVerifica.RecordCount = 0 Then
MsgBox "No existe ese art�culo", vbInformation + vbOKOnly, "Asociado DIA"
txt_noarticulo.Text = "0"
txt_nomarticulo.Text = ""
txt_noarticulo.SetFocus
QtEx = 0
PcUn = 0
Else
txt_nomarticulo.Text = IIf(IsNull(snpVerifica!ArtNb), "", snpVerifica!ArtNb)
QtEx = IIf(IsNull(snpVerifica!ArtQtEx), 0, snpVerifica!ArtQtEx)
PcUn = IIf(IsNull(snpVerifica!ArtPcV), 0, snpVerifica!ArtPcV)
snpVerifica.Close
strQry = "Select ArtCd From TblMovSalD Where ArtCd = " + txt_noarticulo + " And MovSalSt = 0 "
Set snpVerifica = dbDIA.OpenRecordset(strQry, dbOpenSnapshot)
If snpVerifica.RecordCount > 0 Then
MsgBox "Ya Existe Ese Registro", vbInformation + vbOKOnly, "Asociado DIA"
txt_noarticulo.Text = "0"
txt_nomarticulo.Text = ""
txt_noarticulo.SetFocus
QtEx = 0
PcUn = 0
End If
End If
snpVerifica.Close
Else
If txt_noarticulo < 0 Then
MsgBox "Favor de Verificar el Dato", vbInformation + vbOKOnly, "Asociado DIA"
txt_noarticulo.Text = "0"
txt_nomarticulo.Text = ""
txt_noarticulo.SetFocus
QtEx = 0
PcUn = 0
End If
End If
End If
End Sub




Variables globales


Global dbDIA As Database
Global Clave As Long
Global Opcion As Integer
Global Movimiento As Long