Documente Academic
Documente Profesional
Documente Cultură
"#"$
I% p&rti&' (u'(i''me%t (or t)e &*&rd o( t)e de+ree O( ,-A.HELOR O/ .OMP0TER APPLI.ATION1 0N2ER THE G0I2AN.E O/ MR3 MANO4 K0MAR
At
INSTIT0TE O/ MANAGEMENT ST02IES5 GHA6IA-A2 .7" 85 -0LAN2SHAHR ROA25 LAL 90AN5 GHA6IA-A2 ,"##87"#::1
Ac;%o*'ed+eme%t
Completing a task is never one-man effort. It is often the result of invaluable contribution of number of individuals in a direct or indirect manner that helps in sharing a making success. I take this opportunity to express my deep sense of gratitude and whole hearted thanks to my guide Mr3 M&%oj Kum&r for their valuable guidance and keep interest and affection encouragement thought the work. With due respect, I would like to thank 2r3 R3K3-HAR2WA4 !irector", I#$ for their informative and illuminative guidance.
We t&;e t)i< opportu%ity to &'' t)o<e *)o )&=e direct'y or i%direct'y )e'ped me duri%+ t)e cour<e o( t)i< t&<;3
2E.LARATION
I hereby declare that the study entitled & HOTEL MANAGEMENT SYSTEM ' being submitted by me in the partial fulfillment of the re(uirement for the award of )C*-+I $emester by the Institute of #anagement $tudies, ,ha-iabad affiliated to C.C.$. .niversity #eerut, is a record of my own work. /he matter incorporated in this pro0ect report has not been submitted to any other university for the award of degree.
.o%te%t<
P&+e No3 :3 I%troductio% 1.1 3resent $tate 4f *rt 1.% 6eed 4f Computeri-ation 1.1 #eaning 4f 3ro0ect "3 Objecti=e o( t)e <tudy 3 Too'< ?E%=iro%me%t&' u<ed 1.1 8ront 9nd *nd )ack9nd /ools .sed $3 Sy<tem 2e=e'opme%t 'i(e cyc'e ;.1 /he $ystem !evelopment <ife Cycle ;.% >ecognition 4f /he 6eed - What Is /he 3roblem ;.1 Impetius 8or $ystem Changes !3 Sy<tem A%&'y<i< @ 2e<i+% ?.1 $ystem !esign ?.% !esign 4b0ectives ?.1 !esign 3rinciples ?.; #odularity ?.? *bstraction ?.2 3roblem 3artitioning @ierarchy A3 2&t& /'o* 2i&+r&m 2.1 !ata 8low !iagram 2.% $ymbols 4f !ata 8low !iagram 2.1 Constructing !ata 8low !iagrams 2.; @ow !etailed $hould )e * !8! )eA B3 ER72i&+r&m 5.1 9> !iagram 5.% $ymbols 5.1 9> !iagram $ystem /ables 83 /orm ? .odi%+ 93 .o%c'u<io% :.1 *dvantage 4f 3ro0ect :.% !eficiencies :.1 <imitations :.; 8uture $cope of the study :.? )iography 2 5 5 7 7 : 1= 1% 1% 1; 1? 12 15 15 15 1: %= %= %1 %1 %5 %7 %7 %: : 7 :#A 1=5 1=7 1=7 1=7 1=7 1=:
Im&+e I%deC
S3No3 /i+ure Tit'e
:3 "3 3 $3 !3 A3 B3 83 /i+ : D Sy<tem 2e=e'opme%t Li(e .yc'e /i+ "7 I%(orm&tio% Sectio% /i+ D ECpe%<e 2et&i' P&+e %o3 :: "" " "$ "! "A "8 "9
/i+ $ D Tr&%<&ctio% 2et&i' /i+ ! D Add5 0pd&te 5 2e'ete Tr&%<&ctio% 2et&i'< o( .u<tomer /i+ A D -i'' Ge%er&tio% /i+ B D Symbo' A%d Me&%i%+< /i+ 8 D ER D 2IAGRAM O( SYSTEM
9uic; Report<>
* computeri-ed system can help on generating different types of reports. /his can be done easily by merely pressing few keys. >eports can be easily obtained at the spur of the moment unlike a manual system.
Eco%omic&'>
!ue to computeri-ation more accurate functioning can be obtained as compared to manual systems in long term.
meant for
- /echni(ues
MI.ROSO/T7 A..ESSB
#IC>4$48/- *CC9$$ is a database management system or !)#$. * !)#$ helps you to manage data thatFs stored in a computer database. It is a full-featured application development system that includes the +isual )asic 3rogramming language and other tools for setting up sophisticated applications for yourself and your customers. #icrosoft *ccess is designed from the ground up to provide full support for all window features. $ome of the most important windows like features youFll find in *ccess areB
"7-IT APPLI.ATION>
#$-*ccess %=== is a 1%- bit application, which means that it runs in its own protected computer memory area. /herefore *ccess wonFt grind to a halt if some other program on your computer decides to misbehave. *ccess also takes advantage of the multithreading capabilities of windows, the Get database engine, #icrosoft *ccess, and modules written for +isual )asic all run in separate thereFd.
2ATA-ASE EHPLORER>
/he database window in *ccess looks and acts a lot like Windows 9xplorer, as well as windows that appear.
1=
11
$erious problems in operations, high rate of labor turnover, labor intensive activities, and high re0ect rates of finished goods, also prompt top management to initiate and investigation. 4ther examples areB * report reaches a senior vice president and she suspects the figures. 1%
/he company controller reads an I>$ audit reports and starts thinking. *n executive read about decision support systems for sales forecasting and it gives him an idea.
#any of these ideas lead to further studies by management re(uest, often funneled downward and carried out by lower management. .ser K originated ideas also prompt initial investigations. 8or example, a bankFs head teller has been noticing long customer line in the lobby. $he wants to know whether they are due to the computerFs slow response to in(uiries, the new tellerFs limited training, or 0ust a sudden increase in bank business. /o what extent and how (uickly a user K originated idea is converted to a feasibility study depend on several factorsB /he risks and potential returns. #anagementFs bias towards the user. 8inancial costs and the funds available for system work. 3riorities of other pro0ects in the firm. /he persuasive ability of the user.
*ll these factors are crucial for a prompt response to a user re(uest for change. * system analyst is in a uni(ue position to detect and even recommend change. 9xperience and previous involvement in the userFs area of operations make himIher a convenient resource for ideas. /he role and status of the analyst as a professional add credibility to the suggestions made.
11
1;
!3:SYSTEM 2ESIGN
$oftware design sits at the technical kernel of software engineering and is applied regardless of the software process model that is used. )eginning once software re(uirements have been analy-ed and specified, software design is the first of the three technical activities K !esign, Code generation and /est-that are re(uired to build and verify the software. 9ach activity transforms information in a manner that ultimately results in validated computer software. /he importance of software design can be stated with a single word-(uality. !esign is the place where (uality is fostered in software engineering. !esign provides us with representation of software that can be assessed for (uality. !esign is the only way that we can accurately translate a customerFs re(uirements into a finished software product or system. $oftware design serves as the foundation for all the software engineering and software support steps that follow. Without design we risk building an unstable system-one that will fall when small changes are madeM one that may be difficult to testM one whose (uality cannot be assessed until late in the software process, when time is short and many dollars have already been spent.
!3"2ESIGN O-4E.TIGES
!esign phase of software development deals with transforming the customer re(uirements as described in the $>$ document into a form implement able using a programming language. @owever, we can broadly classify various design activities into two important partsB 1. 3reliminary or high K level" design %. !etailed design !uring high level design, different modules and the control relationships among them are identified and interfaces among these modules are defined. /he outcome of high level design is called the &3rogram $tructure' or &$oftware *rchitecture'. /he structure chart is used to represent the control hierarchy in a high level design. !uring detailed design, the data structure and the algorithms used by different modules are designed. /he outcome of the detailed design is usually known as the &#odule $pecification' document. * good design should capture all the functionality of the system correctly. It should be easily understandable, efficient and it should be easily amenable to change that is easily maintainable. .nderstandability of a design is a ma0or factor, which is used to evaluate the goodness of a design, since a design that is easily understandable is also easy to maintain and change. In order to enhance the understandability of a design, it should have the following featuresB 1. .se of consistent and meaningful names for various design components. %. .se of cleanly decomposed set of modules. 1. 6eat arrangement of modules in a hierarchy that is tree-like diagram.
1?
#odular design is one of the fundamental principles of a good design. !ecomposition of a problem into modules facilitates taking advantage of the divide and con(uers principle if different modules are almost independent of each other then each module can be understood separately, eventually reducing the complexity greatly. Clean decomposition of a design problem into modules means that the modules in a software design should display &@igh Cohesion and <ow Coupling'. /he primary characteristics of clean decomposition are high cohesion and low coupling. &Cohesion' is a measure of the functional strength of a module. &Coupling' of a module with another module is a measure of the design of functional independence or interaction between the two modules. * module having high cohesion and low coupling is said to be &8unctional Independent' of other modules by the term functional independence we mean that a Cohesive module performs a single task or function. 8unctionally independent module has minimal interaction with other modules. 8unctional independence is a key to good design primarily due to the following reasonsB 8unctional independence reduces error propagation. *n error existing in one module does not directly affect other modules and also any error existing in other modules does not directly this module. >euse of a module is possible because each module performs some well-defined and precise function and the interface of the module with other modules is simple and minimum complexity of the design is reduced because different modules can be understood in isolation, as modules are more or less independent of each other.
!3 2ESIGN PRIN.IPLESB
/op-!own and )ottom-.p $trategies #odularity *bstraction 3roblem 3artitioning and @ierarchy
12
/op-down design methods often result in some form of &stepwise refinement.' $tarting from an abstract design, in each step the design is refined to more concrete to a more concrete level, until we reach a level where no more refinement is needed and the design can be implemented directly. )ottom-up methods work with &layers of abstraction' $tarting from the very bottom, operations that provide a layer of abstraction are implemented. /he operations of this layer are then used to implement more powerful operations and a still higher layer of abstraction, until the stage is reached where the operations supported by the layer are those desired by the system.
!3$MO20LARITYB
/he real power of partitioning comes if a system is partitioned into modules so that the modules are solvable and modifiable separately. It will be even better if the modules are also separately compliable. * system is considered modular if it consists of discrete components so that each component can be implemented separately, and a change to one component has minimal impact on other components. #odularity is a clearly a desirable property in a system. #odularity helps in system debugging-isolating the system problem to a component is easier if the system is modular-in system repair-changing a part of the system is easy as it affects few other parts-and in system building-a modular system can be easily built by &putting its modules together'.
!3!A-STRA.TION >
*bstraction is a very powerful concept that is used in all-engineering disciplines. It is a tool that permits a designer to consider a component at an abstract level without worrying about the details of the implementation of the component. *ny component or system provides some services to its environment. *n abstraction of a component describes the external behavior of that component without bothering with the internal details that produce the behavior. 3resumably, the abstract definition of a component is much simpler than the component itself. /here are two common abstraction mechanisms for software systemsB 8unctional abstraction and !ata abstraction. In functional abstraction, a module is specified by the function it performs. 8or example, a module to compute the log of a value can be abstractly represented by the function log. $imilarly, a module to sort an input array can be represented by the specification of sorting. 8unctional abstraction is the basis of partitioning in function- oriented approaches. /hat is, when the problem is being partitioned, the overall transformation function for the system is partitioned into smaller functions that comprise the system function. /he decomposition of this is terms of functional modules. /he second unit for abstraction is data abstraction. !ata abstraction forms the basis for ob0ectoriented design. In using this abstraction, a system is viewed as a set of ob0ects providing some services. @ence, the decomposition of the system is done with respect to the ob0ects the system contains.
this wisdom. /his principle, if elaborated, would mean, &!ivide into smaller pieces, so that each piece can be con(uered separately'. 3roblem partitioning, which is essential for solving a complex problem, leads to hierarchies in the design. /hat is, the design produced by using problem partitioning can be represented as a hierarchy of components. /he relationship between the elements in this hierarchy can vary depending on the method used. 8or example, the most common is the &whole-part of' relationship. In this the system consists of some parts, each past consists of subparts, and so on. /his relationship can be naturally represented as a hierarchical structure between various system parts. In general hierarchical structure makes it much easier to comprehend a complex system. !ue to this, all design methodologies aim to produce a design that has nice hierarchical structures.
17
1:
A3"2/2 SYM-OLS>
In the !8!, there are four symbols. 1. * s(uare defines a source originator" or destination of system data. %. *n arrow identifies data flow- data in motion. It is a pipeline through which information flows. 1. * circle or a &bubble' some people use an oval bubble" represents a process that transforms incoming data flows s" into outgoing data flow s". ;. *n open rectangle is a data store-data at rest, or a temporary repository of data . SYM-OLS MEANING $ource or destination of data
!ata 8low
!ata $tore
%=
A3 .ONSTR0.TING 2/2>
$everal rules of thumb are used in drawing !8!sB 3rocesses should be named and numbered for easy reference. 9ach name should be representative of the process. /he direction of flow is from top to bottom and from left to right. !ata traditionally flow from the source upper left corner" to the destination lower right corner", although they may flow back to a source. 4ne way to indicate this is to draw a long flow line back to the source. *n alternative way is to repeat the source symbol as a destination. $ince it is used more than once in the !8!, it is marked with a short diagonal in the lower right corner When a process is exploded into lower-level details, they are numbered the names of data sources and destinations are written in capital letters. 3rocess and data flows names have the first letter of each word capitali-ed.
%1
%%
/i+
D ECpe%<e 2et&i'
%1
%;
%?
%2
%5
B3: ER72IAGRAM
*n entity relationship model is a detailed and logical representation of the data for an organi-ation or for business area. /he entity relationship, which is also known as 9> relationship is based on the theory of real world which consist of a set of basic ob0ect, which are called entities and relationships among these ob0ect.
/he data model was developed to facilitate data base design by allowing specification of an enterprise schema which represents the overall logical structure of a database. We will present the modeling concept of 9> model which is higher level conceptual data, /he 9>-model does not provide the overall data base structure but it gives the intermediate step on the basis of which data base is designed. /he 9> modeling is a techni(ue for analysis and logical modeling of a systems data re(uirements. It uses graphical notation for representing these. 9i N 9ntity >i N >elationship
%7
B3 ER72IGRAM O/ SYSTEM
%:
.0STJ2ETAIL >
N&me CC.$/PI! C.$/P6*#9 *!!>9$$ CI/E $/*/9 3@469 I>44#P64 C@9CHPI6P!*/9 C@9CHP4./P!*/9 >44#PC*/ 64P48P39>$46 $9Q /4/*<P*#6/ Nu'' I Type +*>C@*>% 1=" C@*> ;=" +*>C@*>% 5=" C@*> %?" C@*> %?" 6.#)9> 2" 6.#)9> ?" !*/9 !*/9 +*>C@*>% 1?" 6.#)9> ?" C@*> 1" 6.#)9> 7"
GAMEJSE. >
N&me CC.$/PI! C.$/P6*#9 ,P6*#9 >*/9 @4.>$ *##4.6/ Nu'' I 64/ 6.<< Type +*>C@*>% 1=" +*>C@*>% ;=" +*>C@*>% %?" 6.#)9> 5" 6.#)9> ?" 6.#)9> 5" 1=
SPJSE.T >
N&me C.$/PI! C.$/P6*#9 I/9#PC4!9 >*/9 I/9#P!9$C O.6/ 3.>,P!*/9 /4/*<P*#4.6/ Nu'' I 64/ 6.<< Type +*>C@*>% 2" +*>C@*>% ;=" +*>C@*>% 2" 6.#)9> 1=" +*>C@*>% 5=" 6.#)9> 1=" !*/9 6.#)9> 1="
RESTJSE.T >
N&me C.$/PI! C.$/P6*#9 C.>P!*/9 *##4.6/ 8P/E39 8P!9$C 8PC*/ Nu'' I 64/ 6.<< 64/ 6.<< Type +*>C@*>% 2" +*>C@*>% ;=" !*/9 6.#)9> 1=" +*>C@*>% %=" +*>C@*>% 1==" +*>C@*>% 1?"
SRES >
N&me 844!PI! 844!P6*#9 >*/9 8P/E39 Nu'' I 64/ 6.<< Type +*>C@*>% 1=" +*>C@*>% 1=" 6.#)9> ?" +*>C@*>% %="
ROOMJTYPE >
N&me >44#P/E39 >44#P!9$C >44#PC@*>,9 11 Nu'' I Type C@*> 1=" C@*> %=" 6.#)9> ?"
MAINTENAN.E>
N&me $9>I*<P64 !9$C>I3/I46 !*/93 /4/*< Nu'' I Type +*>C@*>% 7" +*>C@*>% %?" !*/9 6.#)9> :,%"
GOO2S >
N&me Nu'' I Type
GAR.HAR",81 +*>C@*>% ;=" 6.#)9> :,%" 6.#)9> ;" !*/9 6.#)9> 1?"
TOTALJEHP >
N&me $9>P64 E9*> #46/@ /4/*<9Q3 Nu'' I Type 6.#)9> ?" +*>C@*>% ?" +*>C@*>% ;" 6.#)9> :,%"
ITEMJ2ES. >
N&me C4!9 !9$C>I3/I46 Nu'' I Type +*>C@*>% ;" +*>C@*>% %="
1%
/ORM 7 (rmSp'&<)
3rivate $ub 8ormPClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd 9nd $ub 3rivate $ub 8ormP.nload Cancel *s Integer" frm<ogin.$how 9nd $ub 3rivate $ub /imer1P/imer " 3rogress)ar1.+alue N 3rogress)ar1.+alue R 1 If 3rogress)ar1.+alue N :? /hen 3rogress)ar1.+alue N 1== 9nd If If 3rogress)ar1.+alue N 1== /hen .nload #e 9nd If 9nd $ub 11
/ORM 7 (rm'o+i%
3ublic <ogin$ucceeded *s )oolean 3rivate $ub cmd9xitPClick " <ogin$ucceeded N 8alse 9nd 9nd $ub 3rivate $ub cmd4HPClick " 3rint !ata1.>ecordset.3assword !im *ns *s Integer !ata1.>ecordset.8ind8irst S.serI!NTS R txt.ser6ame./ext R STS" If 6ot !ata1.>ecordset.6o#atch /hen If txt3assword N !ata1.>ecordset.3assword /hen <ogin$ucceeded N /rue #e.@ide 1;
<oad frm,o/o frm,o/o.$how 9lse #e.Caption N S*ccess !eniteU Invalid .ser 6ame or 3asswordUS txt3assword./ext N SS txt3assword.$et8ocus $endHeys SV@omeWRV9ndWS 9nd If 9lse #e.Caption N S*ccess !eniteU Invalid .ser 6ame or 3asswordUS txt.ser6ame./ext N SS txt.ser6ame.$et8ocus $endHeys SV@omeWRV9ndWS 9nd If 9nd $ub
3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SX@otel.mdbS 9nd $ub
3rivate $ub /imer1P/imer " )ar.+alue N )ar.+alue R 1 If )ar.+alue N ::= /hen )ar.+alue N 1=== 9nd If If )ar.+alue N 1=== /hen 1?
3rivate $ub txt3asswordPHey3ress Hey*scii *s Integer" #e.Caption N S<ogin...S 9nd $ub 3rivate $ub txt.ser6amePHey3ress Hey*scii *s Integer" #e.Caption N S<ogin...S 9nd $ub
12
3ublic str *s $tring 3ublic v, i *s Integer 3rivate $ub #!I8ormP<oad " frm@otel.Caption N S* 3ro0ect on @4/9< #*6*,9#96/ $E$/9#, !evloped )y #oien,#ayank,$hahabuddin 8inal year I./."............S str N #e.Caption v N <en str" 9nd $ub 3rivate $ub #!I8ormP#ouse.p )utton *s Integer, $hift *s Integer, x *s $ingle, y *s $ingle" If )utton N vb>ight)utton /hen 3opup#enu mnu3op.p 9nd If 9nd $ub 3rivate $ub #!I8ormP.nload Cancel *s Integer" If Cancel N = /hen i N #sg)ox S*re Eou $oure /o 9xit /his *pplication.S, vbEes6o" If i N vbEes /hen 9nd 9lse 15
Cancel N 1 frm,o/o.$how 9nd If 9nd If 9nd $ub 3rivate $ub mnu*dd.serPClick " <oad frm*dd.ser frm*dd.ser.$how 9nd $ub 3rivate $ub mnu*dvance>ecieptPClick " <oad frm*dvance>ep frm*dvance>ep.$how 9nd $ub 3rivate $ub mnu)arPClick " <oad frm)ar frm)ar.$how 9nd $ub 3rivate $ub mnu)ar#asterPClick " <oad frm)ar#aster frm)ar#aster.$how 9nd $ub 3rivate $ub mnu)illingPClick " <oad frmInvoice frmInvoice.$how 9nd $ub 3rivate $ub mnuCustomerCheckInPClick " <oad frmCheckIn frmCheckIn.$how 9nd $ub 3rivate $ub mnuCustomer$tatusPClick " <oad frmCust$tatus frmCust$tatus.$how 9nd $ub 3rivate $ub mnu9xitPClick " .nload #e 9nd $ub 3rivate $ub mnu<aundryPClick " <oad frm<aundry frm<aundry.$how 9nd $ub 17
3rivate $ub mnu<aundry#asterPClick " <oad frm<aundry#aster frm<aundry#aster.$how 9nd $ub 3rivate $ub mnu#edicalPClick " <oad frm#edical frm#edical.$how 9nd $ub 3rivate $ub mnu#edical#asterPClick " <oad frm#edical#aster frm#edical#aster.$how 9nd $ub 3rivate $ub mnu#iscellaneousPClick " <oad frm#is frm#is.$how 9nd $ub 3rivate $ub mnu#isc#asterPClick " <oad frm#iscellaneous#aster frm#iscellaneous#aster.$how 9nd $ub 3rivate $ub mnu3op9xitPClick " 9nd 9nd $ub 3rivate $ub mnu>ailwayPClick " <oad frm>ly frm>ly.$how 9nd $ub 3rivate $ub mnu>estaurantPClick " <oad frm>estaurant frm>estaurant.$how 9nd $ub 3rivate $ub mnu>estaurant#asterPClick " <oad frm>estaurant#aster frm>estaurant#aster.$how 9nd $ub 3rivate $ub mnu>ly#asterPClick " <oad frm>ailway#aster frm>ailway#aster.$how 9nd $ub 1:
3rivate $ub mnu>oom#asterPClick " <oad frm>oom#aster frm>oom#aster.$how 9nd $ub 3rivate $ub mnu>oom$tatusPClick " <oad frm>oom$tatus frm>oom$tatus.$how 9nd $ub 3rivate $ub mnu/elephonePClick " <oad frm/elephone frm/elephone.$how 9nd $ub 3rivate $ub newempPClick " <oad frm*dd9mp frm*dd9mp.$how 9nd $ub 3rivate $ub /imer1P/imer " #e.Caption N <eftY str, i" iNiR1 If i N v /hen iN= 9nd If 9nd $ub ESe'ector /orm E 3rivate $ub cmdCancelPClick " 9nd 9nd $ub 3rivate $ub cmd,otoPClick " If opt,oto =".+alue N /rue /hen frm*dd.ser.$how 9lseIf opt,oto 1".+alue N /rue /hen frmCheckIn.$how 9lseIf opt,oto %".+alue N /rue /hen frm*dvance>ep.$how 9lseIf opt,oto 1".+alue N /rue /hen frmInvoice.$how 9lseIf opt,oto ;".+alue N /rue /hen frm)ar#aster.$how 9lseIf opt,oto ?".+alue N /rue /hen frm<aundry#aster.$how 9lseIf opt,oto 2".+alue N /rue /hen ;=
frm>estaurant#aster.$how 9lseIf opt,oto 5".+alue N /rue /hen frm>oom#aster.$how 9lseIf opt,oto 7".+alue N /rue /hen frm>oom$tatus.$how 9lseIf opt,oto :".+alue N /rue /hen frmCust$tatus.$how 9lseIf opt,oto 11".+alue N /rue /hen frm)ar.$how 9lseIf opt,oto 1%".+alue N /rue /hen frm#edical.$how 9lseIf opt,oto 11".+alue N /rue /hen frm>ly.$how 9lseIf opt,oto 1;".+alue N /rue /hen frm<aundry.$how 9lseIf opt,oto 1?".+alue N /rue /hen frm>estaurant.$how 9lseIf opt,oto 12".+alue N /rue /hen frm/elephone.$how 9lseIf opt,oto 15".+alue N /rue /hen frm#is.$how 9lseIf opt,oto 17".+alue N /rue /hen frm3ost.$how 9nd If 9nd $ub 3rivate $ub 8ormP<oad " frm,o/o./op N $creen.@eight - frm,o/o.@eight" I % frm,o/o.<eft N $creen.Width - frm,o/o.Width" I % opt,oto =".+alue N /rue 9nd $ub
;1
3rivate $ub /extP!is " /ext1.9nabled N /rue /ext%.9nabled N /rue /ext1.9nabled N /rue /ext;.9nabled N /rue 9nd $ub 3rivate $ub /extP!is1 " /ext1.9nabled N 8alse /ext%.9nabled N 8alse /ext1.9nabled N 8alse /ext;.9nabled N 8alse 9nd $ub 3rivate $ub cmd*ddPClick " If cmd*dd.Caption N S*ddS /hen Call /extP!is /ext1.$et8ocus !ata1.>ecordset.*dd6ew cmd*dd.Caption N S$aveS 9lseIf cmd*dd.Caption N S$aveS /hen If <en /ext1./ext" N = /hen #e.Caption N SEou #ust 8ill /he .$9> 6*#9S /ext1.$et8ocus 9lseIf <en /ext%./ext" N = /hen #e.Caption N SEou #ust 8ill /he .$9> I!S /ext%.$et8ocus 9lseIf <en /ext1./ext" N = /hen #e.Caption N SEou #ust 8ill /he 3*$$W4>!S /ext1.$et8ocus 9lseIf <en /ext;./ext" N = /hen #e.Caption N SEou #ust 8ill /he C468I># 3*$$W4>!S /ext;.$et8ocus 9lse 4n 9rror ,o/o vip cmd*dd.+isible N /rue If /ext1./ext N /ext;./ext /hen ;%
!ata1.>ecordset.8ields S.ser6ameS" N /ext1./ext !ata1.>ecordset.8ields S.serI!S" N /ext%./ext !ata1.>ecordset.8ields S3asswordS" N /ext1./ext !ata1.>ecordset..pdate #e.Caption N S.ser $ucessfully CreatedUS #e.Caption N S*dd .ser...S cmd*dd.Caption N S*ddS Call /extP!is1 /ext1./ext N SS /ext%./ext N SS /ext1./ext N SS /ext;./ext N SS 9lse #e.Caption N SConfirm 3asswordUS /ext;./ext N SS /ext;.$et8ocus /ext;.<ocked N 8alse 9nd If vipB If 9rr.6umber N 1=%% /hen #e.Caption N S.ser *lready 9xists With /he 6ame S J !ata1.>ecordset..ser6ame /ext1./ext N SS /ext%./ext N SS /ext1./ext N SS /ext;./ext N SS /ext1.$et8ocus 9nd If 9nd If 9nd If 9nd $ub 3rivate $ub cmdCanclePClick " .nload #e 9nd $ub 3rivate $ub cmd!eletePClick " If /ext%./ext N SS /hen #e.Caption N S9nter .ser I!US /ext%.9nabled N /rue /ext%.$et8ocus 9lse !ata1.>ecordset.8ind8irst S.serI!NTS J /ext%./ext J STS" If !ata1.>ecordset.6o#atch N /rue /hen #e.Caption N S6o .ser 8oundUS /ext%./ext N SS 9lse !ata1.>ecordset.!elete #e.Caption N S.ser $ucessfully !eletedUS /ext%./ext N SS ;1
/ext%.9nabled N 8alse 9nd If 9nd If 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SX@otel.mdbS Call /extP!is1 9nd $ub 3rivate $ub /ext1PHey3ress Hey*scii *s Integer" #e.Caption N S*dd .ser...S 9nd $ub 3rivate $ub /ext%PHey3ress Hey*scii *s Integer" #e.Caption N S*dd .ser...S 9nd $ub 3rivate $ub /ext1PHey3ress Hey*scii *s Integer" #e.Caption N S*dd .ser...S 9nd $ub 3rivate $ub /ext;PHey3ress Hey*scii *s Integer" #e.Caption N S*dd .ser...S 9nd $ub
;;
!im C@ *s $tring !im 8<*, *s Integer 3rivate $ub cmd9ditPClick " !ata1.>ecordset.9dit /ext%.$et8ocus cmd9dit.+isible N 8alse 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub cmd$avePClick " If /ext%./ext N SS /hen #e.Caption N S8ill Customer 6ame...S /ext%.$et8ocus 9lseIf /ext1./ext N SS /hen #e.Caption N S8ill 8ather 6ame...S /ext1.$et8ocus 9lseIf /ext;./ext N SS /hen #e.Caption N S8ill 3hone 6o...S ;?
/ext;.$et8ocus 9lseIf Is6umeric /ext;./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext;./ext N SS /ext;.$et8ocus 9lseIf /ext?./ext N SS /hen #e.Caption N S8ill *ddress...S /ext?.$et8ocus 9lseIf Combo%./ext N SS /hen #e.Caption N S$elect 6ationality...S Combo%.$et8ocus 9lseIf /ext:./ext N SS /hen #e.Caption N S8ill Comming 8rom...S /ext:.$et8ocus 9lseIf /ext1=./ext N SS /hen #e.Caption N S8ill ,oing /o...S /ext1=.$et8ocus 9lseIf Combo1./ext N SS /hen #e.Caption N S$elect >oom 6o...S Combo1.$et8ocus 9lse !ata1.>ecordset..pdate Combo1.Clear !ata1.>efresh cmd$ave.9nabled N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3rev.9nabled N /rue cmd8irst.9nabled N /rue cmd<ast.9nabled N /rue #e.Caption N SCustomer Check In 8ormS 9nd If 9nd $ub 3rivate $ub cmd.pdatePClick " !ata1.>ecordset..pdate cmd9dit.+isible N /rue 9nd $ub 3rivate $ub Combo1PClick " /ext1%./ext N S S !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.roomPno N +al Combo1./ext" /hen /ext1%./ext N !ata%.>ecordset.roomPtype 9xit !o 9nd If !ata%.>ecordset.#ove6ext ;2
<oop 9nd $ub 3rivate $ub cmd*ddPClick " 4n 9rror ,o/o 9rr If !ata1.>ecordset.)48 /hen C@ N 1 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.checkPinPno R 1 9nd If !ata1.>ecordset.#ove<ast If C@ ZN !ata1.>ecordset.checkPinPno /hen C@ N !ata1.>ecordset.checkPinPno R 1 9nd If !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 8<*, N 1 !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 If !ata1.>ecordset.aroomno N !ata%.>ecordset.roomPno /hen 8<*, N = 9nd If !ata1.>ecordset.#ove6ext <oop If 8<*, N 1 /hen Combo1.*ddItem !ata%.>ecordset.roomPno" 9nd If !ata%.>ecordset.#ove6ext <oop !ata1.>ecordset.*dd6ew /ext1./ext N C@ /ext5./ext N !ate /ext7./ext N /ime /ext%.$et8ocus cmd*dd.+isible N 8alse cmd$ave.9nabled N /rue cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3rev.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9xit $ub 9rrB 9xit $ub 9nd $ub 3rivate $ub cmd!eletePClick " ;5
4n 9rror ,o/o 9rr !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9xit $ub 9rrB 9xit $ub 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3revPClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SX@otel.mdbS !ata%.!atabase6ame N *pp.3ath J SX@otel.mdbS !ata1.!atabase6ame N *pp.3ath J SX@otel.mdbS 9nd $ub
;7
!im C@ *s !ouble 3rivate $ub C</ " /ext1./ext N SS /ext;./ext N SS /ext?./ext N SS 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub cmd$avePClick " If Combo1./ext N SS /hen #e.Caption N S$elect Checkin 6o...S Combo1.$et8ocus 9lseIf /ext5./ext N SS /hen #e.Caption N S8ill *mount...S /ext5.$et8ocus ;:
9lseIf Is6umeric /ext5./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext5./ext N SS /ext5.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd$ave.+isible N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3rev.9nabled N /rue cmd8irst.9nabled N /rue cmd<ast.9nabled N /rue #e.Caption N S*dvance >eciptS 9nd If 9nd $ub 3rivate $ub Combo1PChange " !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 If !ata1.>ecordset.checkPinPno N Combo1./ext /hen /ext1./ext N !ata1.>ecordset.cPname 9nd If !ata1.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo1PClick " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub cmd*ddPClick " If !ata1.>ecordset.)48 /hen C@ N 1111 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.>ecP64 R 1 9nd If !ata1.>ecordset.*dd6ew !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" ?=
!ata%.>ecordset.#ove6ext <oop /ext1./ext N C@ /ext2./ext N !ate Call C</ cmd*dd.+isible N 8alse cmd$ave.+isible N /rue cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3rev.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3revPClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata;.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext;PChange " !ata;.>ecordset.#ove8irst !o .ntil !ata;.>ecordset.948 If !ata;.>ecordset.roomPno N /ext;./ext /hen /ext?./ext N !ata;.>ecordset.roomPtype 9nd If !ata;.>ecordset.#ove6ext <oop 9nd $ub ?1
3rivate $ub Clear " /ext1./ext N SS /ext%./ext N SS /ext1./ext N SS 9nd $ub 3rivate $ub cmd*ddPClick " !ata1.>ecordset.#ove<ast !ata1.>ecordset.*dd6ew cmd*dd.+isible N 8alse cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3re.9nabled N 8alse cmd<ast.9nabled N 8alse cmd8irst.9nabled N 8alse !)<ist1.9nabled N 8alse /ext1.$et8ocus 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst ?%
9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3rePClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd$avePClick " If /ext1./ext N SS /hen #e.Caption N S8ill !rink 6ame...S /ext1.$et8ocus 9lseIf /ext%./ext N SS /hen #e.Caption N S8ill !rink 3rice...S /ext%.$et8ocus 9lseIf Is6umeric /ext%./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext%./ext N SS /ext%.$et8ocus 9lseIf /ext1./ext N SS /hen #e.Caption N S8ill !rink /ax...S /ext1.$et8ocus 9lseIf Is6umeric /ext1./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext1./ext N SS /ext1.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd$ave.9nabled N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3re.9nabled N /rue cmd<ast.9nabled N /rue cmd8irst.9nabled N /rue !)<ist1.9nabled N /rue ?1
#e.Caption N S)ar #asterS 9nd If 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If !)<ist1.>e8ill 9nd $ub 3rivate $ub !)<ist1PClick " !ata1.>ecordset.)ookmark N !)<ist1.$electedItem 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub
?;
3rivate $ub Clear " /ext1./ext N SS /ext%./ext N SS /ext1./ext N SS 9nd $ub 3rivate $ub cmd*ddPClick " !ata1.>ecordset.#ove<ast !ata1.>ecordset.*dd6ew cmd*dd.+isible N 8alse cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3re.9nabled N 8alse cmd<ast.9nabled N 8alse cmd8irst.9nabled N 8alse !)<ist1.9nabled N 8alse /ext1.$et8ocus 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub cmd8irstPClick " ??
!ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3rePClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd$avePClick " If /ext1./ext N SS /hen #e.Caption N S8ill /ype of Cloth...S /ext1.$et8ocus 9lseIf /ext%./ext N SS /hen #e.Caption N S8ill 3rice...S /ext%.$et8ocus 9lseIf Is6umeric /ext%./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext%./ext N SS /ext%.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd$ave.9nabled N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3re.9nabled N /rue cmd<ast.9nabled N /rue cmd8irst.9nabled N /rue !)<ist1.9nabled N /rue #e.Caption N S<aundry #asterS 9nd If 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete ?2
!ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If !)<ist1.>e8ill 9nd $ub 3rivate $ub !)<ist1PClick " !ata1.>ecordset.)ookmark N !)<ist1.$electedItem 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub
?5
3rivate $ub Clear " /ext1./ext N SS /ext%./ext N SS /ext1./ext N SS 9nd $ub 3rivate $ub cmd*ddPClick " !ata1.>ecordset.#ove<ast !ata1.>ecordset.*dd6ew cmd*dd.+isible N 8alse cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3re.9nabled N 8alse cmd<ast.9nabled N 8alse cmd8irst.9nabled N 8alse !)<ist1.9nabled N 8alse /ext1.$et8ocus 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub ?7
3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3rePClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd$avePClick " If /ext1./ext N SS /hen #e.Caption N S8ill Item Code...S /ext1.$et8ocus 9lseIf /ext%./ext N SS /hen #e.Caption N S8ill Item 6ame...S /ext%.$et8ocus 9lseIf /ext1./ext N SS /hen #e.Caption N S8ill 3rice...S /ext1.$et8ocus 9lseIf Is6umeric /ext1./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext1./ext N SS /ext1.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd$ave.9nabled N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3re.9nabled N /rue cmd<ast.9nabled N /rue cmd8irst.9nabled N /rue !)<ist1.9nabled N /rue #e.Caption N S>estorent #asterS 9nd If ?:
9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If !)<ist1.>e8ill 9nd $ub 3rivate $ub !)<ist1PClick " !ata1.>ecordset.)ookmark N !)<ist1.$electedItem 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub
2=
3rivate $ub Clear " /ext1./ext N SS /ext%./ext N SS /ext1./ext N SS 9nd $ub 3rivate $ub cmd*ddPClick " !ata1.>ecordset.#ove<ast !ata1.>ecordset.*dd6ew cmd*dd.+isible N 8alse cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3re.9nabled N 8alse cmd<ast.9nabled N 8alse cmd8irst.9nabled N 8alse !)<ist1.9nabled N 8alse /ext1.$et8ocus 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " 21
!ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3rePClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd$avePClick " If /ext1./ext N SS /hen #e.Caption N S8ill >oom 6o...S /ext1.$et8ocus 9lseIf /ext%./ext N SS /hen #e.Caption N S8ill >oom /ype...S /ext%.$et8ocus 9lseIf /ext1./ext N SS /hen #e.Caption N S8ill >oom >ate...S /ext1.$et8ocus 9lseIf Is6umeric /ext1./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext1./ext N SS /ext1.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd$ave.9nabled N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3re.9nabled N /rue cmd<ast.9nabled N /rue cmd8irst.9nabled N /rue !)<ist1.9nabled N /rue #e.Caption N S>oom #asterS 9nd If 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen 2%
!ata1.>ecordset.#ove<ast 9nd If !)<ist1.>e8ill 9nd $ub 3rivate $ub !)<ist1PClick " !ata1.>ecordset.)ookmark N !)<ist1.$electedItem 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub
21
!im C@ *s !ouble !im $ *s Integer 3rivate $ub cmd*ddPClick " Combo1.$et8ocus If !ata1.>ecordset.)48 /hen C@ N 1111 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.)*>P)I<<P64 R 1 9nd If !ata1.>ecordset.*dd6ew !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 Combo%.*ddItem !ata1.>ecordset./E39P48P!>I6H" !ata1.>ecordset.#ove6ext <oop /ext1./ext N C@ /ext%./ext N !ate Call C</ cmd*dd.+isible N 8alse 2;
cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3re.9nabled N 8alse cmd<ast.9nabled N 8alse cmd8irst.9nabled N 8alse 9nd $ub 3rivate $ub C</ " /ext;./ext N SS /ext?./ext N SS /ext2./ext N SS /ext7./ext N SS /ext:./ext N SS 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub Combo1PChange " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N Combo1./ext /hen /ext;./ext N !ata%.>ecordset.cPname /ext?./ext N !ata%.>ecordset.aroomno /ext2./ext N !ata%.>ecordset.*>44#/E39 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo1PClick " Call C</ !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext;./ext N !ata%.>ecordset.cPname /ext?./ext N !ata%.>ecordset.aroomno /ext2./ext N !ata%.>ecordset.*>44#/E39 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 2?
3rivate $ub Combo%PChange " !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 If !ata1.>ecordset./E39P48P!>I6H N Combo%./ext /hen /ext7./ext N !ata1.>ecordset.>ate 9nd If !ata1.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo%PC<ICH " /ext7./ext N SS !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 If !ata1.>ecordset./E39P48P!>I6H N Combo%./ext /hen /ext7./ext N !ata1.>ecordset.>ate /ext:./ext N !ata1.>ecordset.9QP/*Q 9xit !o 9nd If !ata1.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub cmd.pdatePClick " If Combo1./ext N SS /hen #e.Caption N S$elect Check In 6o...S Combo1.$et8ocus 9lseIf Combo%./ext N SS /hen #e.Caption N S$elect /ype 4f !rink...S Combo%.$et8ocus 9lseIf /ext1=./ext N SS /hen #e.Caption N S8ill 6o of !rinks...S /ext1=.$et8ocus 9lseIf Is6umeric /ext1=./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext1=./ext N SS /ext1=.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd.pdate.9nabled N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3re.9nabled N /rue cmd<ast.9nabled N /rue cmd8irst.9nabled N /rue #e.Caption N S)*> $9>+IC9 )I<<S 9nd If 22
9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3rePClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext1PChange " 9nd $ub 3rivate $ub /ext1=PChange " $ N +al /ext7./ext" R +al /ext:./ext"" /ext11./ext N $ [ +al /ext1=./ext" 9nd $ub 3rivate $ub /ext%PChange " 9nd $ub 25
3rivate $ub cmd$earchPClick " 8<*, N = 8rame1.+isible N 8alse 8rame?.+isible N /rue !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.cPname N /ext1./ext /hen /ext1;./ext N !ata%.>ecordset.8ields =" /ext1?./ext N !ata%.>ecordset.8ields :" /ext12./ext N !ata%.>ecordset.8ields 1=" /ext15./ext N !ata%.>ecordset.8ields 1" /ext17./ext N !ata%.>ecordset.8ields %" /ext1:./ext N !ata%.>ecordset.8ields 1" /ext%=./ext N !ata%.>ecordset.8ields ;" /ext%1./ext N !ata%.>ecordset.8ields ?" /ext%%./ext N !ata%.>ecordset.8ields 2" /ext%1./ext N !ata%.>ecordset.8ields 5" /ext%;./ext N !ata%.>ecordset.8ields 11" /ext%?./ext N !ata%.>ecordset.8ields 7" 8<*, N 1 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop If 8<*, N = /hen #e.Caption N S6o >ecord 8ound...S 9nd If 9nd $ub 27
3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub Combo1PClick " /ext1./ext N Combo1./ext 9nd $ub 3rivate $ub !)<ist1PClick " 8rame1.+isible N /rue 8rame?.+isible N 8alse !ata1.>ecordset.)ookmark N !)<ist1.$electedItem 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext1PChange " #e.Caption N SCustomer $tatusS 9nd $ub 3rivate $ub /ext1PHey.p HeyCode *s Integer, $hift *s Integer" If HeyCode N 11 /hen Call cmd$earchPClick 9nd If 9nd $ub
2:
!im C@ *s !ouble 3rivate $ub cmd*ddPClick " Combo1.$et8ocus If !ata1.>ecordset.)48 /hen C@ N 1111 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.<*.6P)I<<P64 R 1 9nd If !ata1.>ecordset.*dd6ew !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop Combo%.Clear !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 Combo%.*ddItem !ata1.>ecordset./E39P48PC<4/@" !ata1.>ecordset.#ove6ext <oop Call C</ /ext1./ext N C@ /ext:./ext N !ate 5=
cmd*dd.+isible N 8alse cmd.pdate.+isible N /rue cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3rev.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub cmd.pdatePClick " If Combo1./ext N SS /hen #e.Caption N S$elect Check In 6o...S Combo1.$et8ocus 9lseIf Combo%./ext N SS /hen #e.Caption N S$elect /ype of Cloth...S Combo%.$et8ocus 9lseIf /ext7./ext N SS /hen #e.Caption N S8ill 6o of Cloth...S /ext7.$et8ocus 9lseIf Is6umeric /ext7./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alues...S /ext7./ext N SS /ext7.$et8ocus 9lseIf /ext1=./ext N SS /hen #e.Caption N S8ill !ate of !elivery...S /ext1=.$et8ocus 9lseIf Is!ate /ext1=./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alues...S /ext1=./ext N SS /ext1=.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd.pdate.+isible N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3rev.9nabled N /rue cmd8irst.9nabled N /rue cmd<ast.9nabled N /rue #e.Caption N S<aundry $ervice )illS 51
9nd If 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub C</ " /ext1./ext N SS /ext;./ext N SS /ext?./ext N SS /ext5./ext N SS 9nd $ub 3rivate $ub Combo1PChange " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N Combo1./ext /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo1PClick " Call C</ !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo%PChange " !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 If !ata1.>ecordset./E39P48PC<4/@ N Combo%./ext /hen /ext5./ext N !ata1.>ecordset.>ate 5%
9nd If !ata1.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo%PC<ICH " /ext5./ext N SS !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 If !ata1.>ecordset./E39P48PC<4/@ N Combo%./ext /hen /ext5./ext N !ata1.>ecordset.>ate 9xit !o 9nd If !ata1.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3revPClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext7PChange " /ext11./ext N +al /ext5./ext" [ +al /ext7./ext" 9nd $ub
51
!im C@ *s !ouble 3rivate $ub C</ " /ext;./ext N SS /ext?./ext N SS /ext2./ext N SS 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub Combo1PChange " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N Combo1./ext /hen /ext;./ext N !ata%.>ecordset.cPname /ext?./ext N !ata%.>ecordset.aroomno /ext2./ext N !ata%.>ecordset.*>44#/E39 9nd If 5;
!ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo1PClick " Call C</ !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext;./ext N !ata%.>ecordset.cPname /ext?./ext N !ata%.>ecordset.aroomno /ext2./ext N !ata%.>ecordset.*>44#/E39 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub cmd*ddPClick " Call C</ Combo1.$et8ocus If !ata1.>ecordset.)48 /hen C@ N 1111 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.#9!P)I<<P64 R 1 9nd If !ata1.>ecordset.*dd6ew !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop /ext1./ext N C@ /ext%./ext N !ate cmd*dd.+isible N 8alse cmd.pdate.+isible N /rue cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3re.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9nd $ub 3rivate $ub cmd.pdatePClick " If Combo1./ext N SS /hen #e.Caption N S$elect Check In 6o...S Combo1.$et8ocus 9lseIf /ext5./ext N SS /hen 5?
#e.Caption N S8ill 6ame of #edicin...S /ext5.$et8ocus 9lseIf /ext7./ext N SS /hen #e.Caption N S8ill !octor 8ees...S /ext7.$et8ocus 9lseIf Is6umeric /ext7./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext7./ext N SS /ext7.$et8ocus 9lseIf /ext:./ext N SS /hen #e.Caption N S8ill #edicin Charge...S /ext:.$et8ocus 9lseIf Is6umeric /ext:./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext:./ext N SS /ext:.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd.pdate.+isible N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3re.9nabled N /rue cmd8irst.9nabled N /rue cmd<ast.9nabled N /rue #e.Caption N S#edical $ervice )illS 9nd If 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd6extPClick " Call C</ !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3rePClick " Call C</ !ata1.>ecordset.#ove3revious 52
If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext7PChange " /ext1=./ext N +al /ext7./ext" R +al /ext:./ext" 9nd $ub 3rivate $ub /ext:PChange " /ext1=./ext N +al /ext7./ext" R +al /ext:./ext" 9nd $ub
55
!im C@ *s !ouble 3rivate $ub C</ " /ext;./ext N SS /ext?./ext N SS /ext2./ext N SS 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub Combo1PChange " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N Combo1./ext /hen /ext;./ext N !ata%.>ecordset.cPname /ext?./ext N !ata%.>ecordset.aroomno /ext2./ext N !ata%.>ecordset.*>44#/E39 57
9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo1PClick " Call C</ !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext;./ext N !ata%.>ecordset.cPname /ext?./ext N !ata%.>ecordset.aroomno /ext2./ext N !ata%.>ecordset.*>44#/E39 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub cmd*ddPClick " Combo1.$et8ocus If !ata1.>ecordset.)48 /hen C@ N 1111 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.#I$CP)I<<P64 R 1 9nd If !ata1.>ecordset.*dd6ew !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop Call C</ /ext1./ext N C@ /ext%./ext N !ate cmd*dd.+isible N 8alse cmd.pdate.+isible N /rue cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3re.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9nd $ub 3rivate $ub cmd.pdatePClick " If Combo1./ext N SS /hen #e.Caption N S$elect Check In 6o...S 5:
Combo1.$et8ocus 9lseIf /ext5./ext N SS /hen #e.Caption N S8ill /ype of $ervice...S /ext5.$et8ocus 9lseIf /ext7./ext N SS /hen #e.Caption N S8ill >ate...S /ext7.$et8ocus 9lseIf Is6umeric /ext7./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext7./ext N SS /ext7.$et8ocus 9lseIf /ext:./ext N SS /hen #e.Caption N S8ill 6o of Item...S /ext:.$et8ocus 9lseIf Is6umeric /ext:./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext:./ext N SS /ext:.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd.pdate.+isible N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3re.9nabled N /rue cmd8irst.9nabled N /rue cmd<ast.9nabled N /rue #e.Caption N S#I$C9<<*6I4.$ $9>+IC9 )I<<S 9nd If 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3rePClick " !ata1.>ecordset.#ove3revious 7=
If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext7PChange " $ N +al /ext7./ext" [ +al /ext:./ext" /ext1=./ext N $ 9nd $ub 3rivate $ub /ext:PChange " $ N +al /ext7./ext" [ +al /ext:./ext" /ext1=./ext N $ 9nd $ub
71
3rivate $ub C</ " /ext1./ext N SS /ext;./ext N SS /ext?./ext N SS 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub Combo1PChange " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N Combo1./ext /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 7%
3rivate $ub Combo1PClick " Call C</ !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub cmd*ddPClick " Combo1.$et8ocus If !ata1.>ecordset.)48 /hen C@ N 1111 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.34$/P)I<<P64 R 1 9nd If !ata1.>ecordset.*dd6ew !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop Call C</ /ext1./ext N C@ /ext%./ext N !ate Combo1.$et8ocus cmd*dd.+isible N 8alse cmd.pdate.+isible N /rue cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3re.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9nd $ub 3rivate $ub cmd.pdatePClick " If Combo1./ext N SS /hen #e.Caption N S$elect Check In 6o...S Combo1.$et8ocus 9lseIf /ext5./ext N SS /hen #e.Caption N S8ill /ype of <etter...S /ext5.$et8ocus 71
9lseIf /ext7./ext N SS /hen #e.Caption N S8ill >ate...S /ext7.$et8ocus 9lseIf Is6umeric /ext7./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext7./ext N SS /ext7.$et8ocus 9lseIf /ext:./ext N SS /hen #e.Caption N S8ill 6o of <etter...S /ext:.$et8ocus 9lseIf Is6umeric /ext:./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext:./ext N SS /ext:.$et8ocus 9lseIf /ext1=./ext N SS /hen #e.Caption N S8ill /otal *mounts...S /ext1=.$et8ocus 9lseIf Is6umeric /ext1=./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext1=./ext N SS /ext1=.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd.pdate.+isible N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue cmd3re.9nabled N /rue cmd8irst.9nabled N /rue cmd<ast.9nabled N /rue #e.Caption N S34$/*,9 IC4.>I9> )I<<S 9nd If 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 7;
3rivate $ub cmd3rePClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub Command2PClick " .nload #e #e.@ide 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext7PChange " $ N +al /ext7./ext" [ +al /ext:./ext" /ext1=./ext N $ 9nd $ub 3rivate $ub /ext:PChange " $ N +al /ext7./ext" [ +al /ext:./ext" /ext1=./ext N $ 9nd $ub
7?
!im C@ *s !ouble 3rivate $ub C</ " /ext1./ext N SS /ext;./ext N SS /ext?./ext N SS 9nd $ub 3rivate $ub C</1 " /ext5./ext N SS /ext7./ext N SS 9nd $ub 3rivate $ub cmd8irstPClick " !ata1.>ecordset.#ove8irst 9nd $ub 3rivate $ub cmd<astPClick " !ata1.>ecordset.#ove<ast 9nd $ub 3rivate $ub Combo1PChange " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N Combo1./ext /hen /ext1./ext N !ata%.>ecordset.cPname 72
/ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo1PClick " Call C</ !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo%PChange " !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 If !ata1.>ecordset.itemPcode N Combo%./ext /hen /ext5./ext N !ata1.>ecordset.itemPname /ext7./ext N !ata1.>ecordset.unitPprice 9nd If !ata1.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo%PC<ICH " Call C</1 !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 If !ata1.>ecordset.itemPcode N +al Combo%./ext" /hen /ext5./ext N !ata1.>ecordset.itemPname /ext7./ext N !ata1.>ecordset.unitPprice 9xit !o 9nd If !ata1.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub cmd*ddPClick " Combo1.$et8ocus If !ata1.>ecordset.)48 /hen C@ N 1111 75
9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.>e$P$9>P)I<<64 R 1 9nd If !ata1.>ecordset.*dd6ew /ext1./ext N C@ !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 Combo%.*ddItem !ata1.>ecordset.itemPcode" !ata1.>ecordset.#ove6ext <oop Call C</ Call C</1 Combo1.$et8ocus cmd*dd.+isible N 8alse cmd.pdate.+isible N /rue cmd!elete.9nabled N 8alse cmd6ext.9nabled N 8alse cmd3rev.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9nd $ub 3rivate $ub cmd.pdatePClick " If Combo1./ext N SS /hen #e.Caption N S$elect Check In 6o...S Combo1.$et8ocus 9lseIf Combo%./ext N SS /hen #e.Caption N S$elect 4rder Item Code...S Combo%.$et8ocus 9lseIf /ext:./ext N SS /hen #e.Caption N S8ill 6o of .nit...S /ext:.$et8ocus 9lseIf Is6umeric /ext:./ext" N 8alse /hen #e.Caption N S8ill !ate...S /ext:./ext N SS /ext:.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh cmd.pdate.+isible N 8alse cmd*dd.+isible N /rue cmd!elete.9nabled N /rue cmd6ext.9nabled N /rue 77
cmd3rev.9nabled N /rue cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse #e.Caption N S>9$/*.>*6/ $9>+IC9 )I<<S 9nd If 9nd $ub 3rivate $ub cmd!eletePClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd6extPClick " !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub cmd3revPClick " !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext:PChange " /ext1=./ext N +al /ext:./ext" [ +al /ext7./ext" 9nd $ub
7:
!im C@ *s !ouble 3rivate $ub C</ " /ext1./ext N SS /ext;./ext N SS /ext?./ext N SS 9nd $ub 3rivate $ub Combo1PChange " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N Combo1./ext /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo1PClick " Call C</ !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 :=
9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Command1PClick " Call C</ Combo1.$et8ocus If !ata1.>ecordset.)48 /hen C@ N 1111 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset.>*I<P)I<<P64 R 1 9nd If !ata1.>ecordset.*dd6ew !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop /ext1./ext N C@ Command1.+isible N 8alse Command%.+isible N /rue Command1.9nabled N 8alse Command;.9nabled N 8alse Command?.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9nd $ub 3rivate $ub Command%PClick " If Combo1./ext N SS /hen #e.Caption N S$elect Check In 6o...S Combo1.$et8ocus 9lseIf Combo%./ext N SS /hen #e.Caption N S$elect /icket /ype...S Combo%.$et8ocus 9lseIf /ext5./ext N SS /hen #e.Caption N S8ill $tation 8rom...S /ext5.$et8ocus 9lseIf /ext7./ext N SS /hen #e.Caption N S8ill $tation /o...S /ext7.$et8ocus 9lseIf /ext:./ext N SS /hen #e.Caption N S8ill !ate of Gourney...S /ext:.$et8ocus 9lseIf Is!ate /ext:./ext" N 8alse /hen #e.Caption N S8ill !ate...S /ext:./ext N SS /ext:.$et8ocus :1
9lseIf /ext1=./ext N SS /hen #e.Caption N S8ill /otal *mount...S /ext1=.$et8ocus 9lseIf Is6umeric /ext1=./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext1=./ext N SS /ext1=.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh Command%.+isible N 8alse Command1.+isible N /rue Command1.9nabled N /rue Command;.9nabled N /rue Command?.9nabled N /rue cmd<ast.9nabled N /rue cmd8irst.9nabled N /rue #e.Caption N S>*I<W*E >9$9>+*/I46I/ICH9/S 9nd If 9nd $ub 3rivate $ub Command1PClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub Command;PClick " Call C</ !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub Command?PClick " Call C</ !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub Command2PClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub :%
3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub cmd$earchPClick " 8<*, N = 8rame1.+isible N 8alse 8rame?.+isible N /rue !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.aroomno N /ext1./ext /hen /ext1;./ext N !ata%.>ecordset.8ields =" /ext1?./ext N !ata%.>ecordset.8ields :" /ext12./ext N !ata%.>ecordset.8ields 1=" /ext15./ext N !ata%.>ecordset.8ields 1" /ext17./ext N !ata%.>ecordset.8ields %" /ext1:./ext N !ata%.>ecordset.8ields 1" /ext%=./ext N !ata%.>ecordset.8ields ;" /ext%1./ext N !ata%.>ecordset.8ields ?" /ext%%./ext N !ata%.>ecordset.8ields 2" /ext%1./ext N !ata%.>ecordset.8ields 5" /ext%;./ext N !ata%.>ecordset.8ields 11" :1
/ext%?./ext N !ata%.>ecordset.8ields 7" 8<*, N 1 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop If 8<*, N = /hen #e.Caption N S6o >ecord 8ound...S 9nd If 9nd $ub 3rivate $ub !)<ist1PClick " 8rame1.+isible N /rue 8rame?.+isible N 8alse !ata1.>ecordset.)ookmark N !)<ist1.$electedItem 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub 3rivate $ub /ext1PChange " #e.Caption N S>oom $tatusS 9nd $ub 3rivate $ub /ext1PHey.p HeyCode *s Integer, $hift *s Integer" If HeyCode N 11 /hen Call cmd$earchPClick 9nd If 9nd $ub
:;
!im C@ *s !ouble 3rivate $ub C</ " /ext1./ext N SS /ext;./ext N SS /ext?./ext N SS 9nd $ub 3rivate $ub Combo1PChange " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N Combo1./ext /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Combo1PClick " Call C</ !ata%.>ecordset.#ove8irst :?
!o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.aroomno /ext?./ext N !ata%.>ecordset.*>44#/E39 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub Command1PClick " Combo1.$et8ocus If !ata1.>ecordset.)48 /hen C@ N 1111 9lse !ata1.>ecordset.#ove<ast C@ N !ata1.>ecordset./9<P$9>P)I<<64 R 1 9nd If !ata1.>ecordset.*dd6ew !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop Call C</ /ext1./ext N C@ /ext7./ext N /ime /ext:./ext N !ate Command1.+isible N 8alse Command%.+isible N /rue Command1.9nabled N 8alse Command;.9nabled N 8alse Command?.9nabled N 8alse cmd8irst.9nabled N 8alse cmd<ast.9nabled N 8alse 9nd $ub 3rivate $ub Command%PClick " If Combo1./ext N SS /hen #e.Caption N S$elect Check In 6o...S Combo1.$et8ocus 9lseIf Combo%./ext N SS /hen #e.Caption N S$elect Call /ype...S Combo%.$et8ocus 9lseIf /ext5./ext N SS /hen #e.Caption N S8ill /elephone 6o...S /ext5.$et8ocus :2
9lseIf Is6umeric /ext5./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext5./ext N SS /ext5.$et8ocus 9lseIf /ext1=./ext N SS /hen #e.Caption N S8ill Calling /ime !uration...S /ext1=.$et8ocus 9lseIf Is6umeric /ext1=./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext1=./ext N SS /ext1=.$et8ocus 9lseIf /ext11./ext N SS /hen #e.Caption N S8ill /otal *mount...S /ext11.$et8ocus 9lseIf Is6umeric /ext11./ext" N 8alse /hen #e.Caption N S8ill 6umeric +alue...S /ext11./ext N SS /ext11.$et8ocus 9lse !ata1.>ecordset..pdate !ata1.>efresh Command%.+isible N 8alse Command1.+isible N /rue Command1.9nabled N /rue Command;.9nabled N /rue Command?.9nabled N /rue cmd8irst.9nabled N /rue cmd<ast.9nabled N /rue #e.Caption N S/elephone )ill $erviceS 9nd If 9nd $ub 3rivate $ub Command1PClick " !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub Command;PClick " Call C</ !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9nd $ub 3rivate $ub Command?PClick " :5
Call C</ !ata1.>ecordset.#ove3revious If !ata1.>ecordset.)48 /hen !ata1.>ecordset.#ove8irst 9nd If 9nd $ub 3rivate $ub Command2PClick " .nload #e 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS 9nd $ub
:7
/ORM D I%=oice
!im x *s Integer !im x1 *s <ong, y *s <ong !im c *s Integer 3rivate $ub C</ " /ext1./ext N SS /ext;./ext N SS /ext?./ext N SS /ext2./ext N SS /ext5./ext N SS /ext7./ext N SS /ext:./ext N SS /ext1=./ext N SS 9nd $ub 3rivate $ub C</1 " /ext%./ext N SS /ext%1./ext N SS Combo1.Clear cmdCalculate.9nabled N 8alse cmdCheck4ut.9nabled N 8alse 9nd $ub ::
3rivate $ub C</% " /ext11./ext N SS /ext1%./ext N SS /ext11./ext N SS /ext1;./ext N SS /ext1?./ext N SS /ext12./ext N SS /ext15./ext N SS /ext17./ext N SS /ext1:./ext N SS /ext%=./ext N SS /ext%1./ext N SS /ext%%./ext N SS 9nd $ub 3rivate $ub Combo1PChange " Call Combo1PClick 9nd $ub 3rivate $ub Combo1PClick " !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 If !ata%.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext%./ext N !ata%.>ecordset.aroomno /ext1./ext N !ata%.>ecordset.cPname /ext;./ext N !ata%.>ecordset.fPname /ext?./ext N !ata%.>ecordset.3@ /ext2./ext N !ata%.>ecordset.*dd /ext5./ext N !ata%.>ecordset.6*/I46 /ext7./ext N !ata%.>ecordset.arPdate /ext:./ext N !ata%.>ecordset.*>P/I#9 /ext1=./ext N !ate - !ata%.>ecordset.arPdate Call C</% 9xit !o 9nd If !ata%.>ecordset.#ove6ext <oop 9nd $ub 3rivate $ub cmd<oadPClick " Call C</ 8rame1.+isible N /rue 8rame1.+isible N /rue If !ata1%.>ecordset.)48 /hen C@ N 1 9lse !ata1%.>ecordset.#ove<ast C@ N !ata1%.>ecordset.invoicePno R 1 9nd If 1==
/ext1./ext N C@ cmd<oad.9nabled N 8alse cmdCalculate.9nabled N /rue !ata%.>ecordset.#ove8irst !o .ntil !ata%.>ecordset.948 Combo1.*ddItem !ata%.>ecordset.checkPinPno" !ata%.>ecordset.#ove6ext <oop frmInvoice.@eight N 221? 8rame%./op N ?;== frmInvoice./op N 1=== 9nd $ub 3rivate $ub cmdCheck4utPClick " !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 " If !ata1.>ecordset.C@P64 N +al Combo1./ext" /hen !ata1.>ecordset.!elete !ata1.>ecordset.#ove6ext If !ata1.>ecordset.948 /hen !ata1.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata1.>ecordset.#ove6ext <oop !ata?.>ecordset.#ove8irst !o .ntil !ata?.>ecordset.948 " If !ata?.>ecordset.checkPinPno N +al Combo1./ext" /hen !ata?.>ecordset.!elete !ata?.>ecordset.#ove6ext If !ata?.>ecordset.948 /hen !ata?.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata?.>ecordset.#ove6ext <oop !ata2.>ecordset.#ove8irst !o .ntil !ata2.>ecordset.948 " If !ata2.>ecordset.checkPinPno N +al Combo1./ext" /hen !ata2.>ecordset.!elete !ata2.>ecordset.#ove6ext If !ata2.>ecordset.948 /hen !ata2.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata2.>ecordset.#ove6ext 1=1
<oop !ata5.>ecordset.#ove8irst !o .ntil !ata5.>ecordset.948 " If !ata5.>ecordset.checkPinPno N +al Combo1./ext" /hen !ata5.>ecordset.!elete !ata5.>ecordset.#ove6ext If !ata5.>ecordset.948 /hen !ata5.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata5.>ecordset.#ove6ext <oop !ata7.>ecordset.#ove8irst !o .ntil !ata7.>ecordset.948 " If !ata7.>ecordset.checkPinPno N +al Combo1./ext" /hen !ata7.>ecordset.!elete !ata7.>ecordset.#ove6ext If !ata7.>ecordset.948 /hen !ata7.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata7.>ecordset.#ove6ext <oop !ata:.>ecordset.#ove8irst !o .ntil !ata:.>ecordset.948 " If !ata:.>ecordset.checkPinPno N +al Combo1./ext" /hen !ata:.>ecordset.!elete !ata:.>ecordset.#ove6ext If !ata:.>ecordset.948 /hen !ata:.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata:.>ecordset.#ove6ext <oop !ata1=.>ecordset.#ove8irst !o .ntil !ata1=.>ecordset.948 " If !ata1=.>ecordset.checkPinPno N +al Combo1./ext" /hen !ata1=.>ecordset.!elete !ata1=.>ecordset.#ove6ext If !ata1=.>ecordset.948 /hen !ata1=.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata1=.>ecordset.#ove6ext <oop 1=%
!ata11.>ecordset.#ove8irst !o .ntil !ata11.>ecordset.948 " If !ata11.>ecordset.checkPinPno N +al Combo1./ext" /hen !ata11.>ecordset.!elete !ata11.>ecordset.#ove6ext If !ata11.>ecordset.948 /hen !ata11.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata11.>ecordset.#ove6ext <oop !ata11.>ecordset.#ove8irst !o .ntil !ata11.>ecordset.948 " If !ata11.>ecordset.checkPinPno N +al Combo1./ext" /hen !ata11.>ecordset.!elete !ata11.>ecordset.#ove6ext If !ata11.>ecordset.948 /hen !ata11.>ecordset.#ove<ast 9nd If 9xit !o 9nd If !ata11.>ecordset.#ove6ext <oop !ata1.>ecordset.*dd6ew !ata1.>ecordset.invoicePno N /ext1./ext !ata1.>ecordset.checkPinPno N Combo1./ext !ata1.>ecordset.cPname N /ext1./ext !ata1.>ecordset.fPname N /ext;./ext !ata1.>ecordset.phonePno N /ext?./ext !ata1.>ecordset.address N /ext2./ext !ata1.>ecordset.arrivalPdate N /ext7./ext !ata1.>ecordset.nationality N /ext5./ext !ata1.>ecordset.arrivalPtime N /ext:./ext !ata1.>ecordset.allProomPno N /ext%./ext !ata1.>ecordset.depPdate N !ate !ata1.>ecordset.depPtime N /ime !ata1.>ecordset.totalPnoPdays N /ext1=./ext !ata1.>ecordset.roomPcharge N /ext11./ext !ata1.>ecordset.advPno N /ext1%./ext !ata1.>ecordset.grantPtotal N /ext%1./ext !ata1.>ecordset..pdate cmd<oad.9nabled N 8alse !ata%.>ecordset.!elete !ata%.>efresh Call C</ Call C</1 1=1
Call C</% cmd<oad.9nabled N /rue 8rame%./op N = frmInvoice.@eight N 11:= 9nd $ub 3rivate $ub cmd9xitPClick " .nload #e 9nd $ub 3rivate $ub cmdCalculatePClick " !ata1.>ecordset.#ove8irst !o .ntil !ata1.>ecordset.948 " If !ata1.>ecordset.C@P64 N +al Combo1./ext" /hen /ext1%./ext N !ata1.>ecordset.recePamt 9xit !o 9lse /ext1%./ext N = 9nd If !ata1.>ecordset.#ove6ext <oop !ata;.>ecordset.#ove8irst !o .ntil !ata;.>ecordset.948 " If !ata;.>ecordset.roomPno N +al /ext%./ext" /hen /ext11./ext N !ata;.>ecordset.>44#P>*/9 9xit !o 9nd If !ata;.>ecordset.#ove6ext <oop If +al /ext1=./ext" N = /hen /ext11./ext N /ext11./ext 9lse /ext11./ext N +al /ext1=./ext" [ +al /ext11./ext"" 9nd If !ata?.>ecordset.#ove8irst !o .ntil !ata?.>ecordset.948 " If !ata?.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1;./ext N !ata?.>ecordset./4/*<P*#/ 9xit !o 9nd If !ata?.>ecordset.#ove6ext <oop !ata2.>ecordset.#ove8irst !o .ntil !ata2.>ecordset.948 " If !ata2.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1?./ext N !ata2.>ecordset./4/*<P<*.6P*#/ 9xit !o 9nd If 1=;
!ata2.>ecordset.#ove6ext <oop !ata5.>ecordset.#ove8irst !o .ntil !ata5.>ecordset.948 " If !ata5.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext12./ext N !ata5.>ecordset./4/*<P>*I<P*# 9xit !o 9nd If !ata5.>ecordset.#ove6ext <oop !ata7.>ecordset.#ove8irst !o .ntil !ata7.>ecordset.948 " If !ata7.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext15./ext N !ata7.>ecordset./4/*<P#9!P*#/ 9xit !o 9nd If !ata7.>ecordset.#ove6ext <oop !ata:.>ecordset.#ove8irst !o .ntil !ata:.>ecordset.948 " If !ata:.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext17./ext N !ata:.>ecordset./4/*<P)*>P*#/ 9xit !o 9nd If !ata:.>ecordset.#ove6ext <oop !ata1=.>ecordset.#ove8irst !o .ntil !ata1=.>ecordset.948 " If !ata1=.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext1:./ext N !ata1=.>ecordset./4/*<P/9<P*#/ 9xit !o 9nd If !ata1=.>ecordset.#ove6ext <oop !ata11.>ecordset.#ove8irst !o .ntil !ata11.>ecordset.948 " If !ata11.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext%=./ext N !ata11.>ecordset./4/*<P#I$CP*#/ 9xit !o 9nd If !ata11.>ecordset.#ove6ext <oop !ata11.>ecordset.#ove8irst !o .ntil !ata11.>ecordset.948 " If !ata11.>ecordset.checkPinPno N +al Combo1./ext" /hen /ext%%./ext N !ata11.>ecordset.totalPpostPbill 9xit !o 9nd If !ata11.>ecordset.#ove6ext 1=?
<oop /ext%1./ext N +al /ext11./ext" R +al /ext1;./ext" R +al /ext1?./ext" R +al /ext12./ext" R +al /ext15./ext" R +al /ext17./ext" R +al /ext1:./ext" R +al /ext%=./ext" R +al /ext%%./ext" /ext%1./ext N +al /ext%1./ext" - +al /ext1%./ext" cmd<oad.9nabled N 8alse cmdCheck4ut.9nabled N /rue 9nd $ub 3rivate $ub cmdbillingPClick " !ata>eport1.$how #e.@ide 9nd $ub 3rivate $ub 8ormP<oad " #akeWindow*lways/op #e.hwnd !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata%.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata1.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata;.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata?.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata2.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata5.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata7.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata:.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata1=.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata11.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata1%.!atabase6ame N *pp.3ath J SXhotel.mdbS !ata11.!atabase6ame N *pp.3ath J SXhotel.mdbS 8rame%./op N = frmInvoice.@eight N 11:= 9nd $ub
1=2
1=5
93" 2E/I.IEN.IES>
4f course we can not claim to have the best flexible information system, but all the same we do have the most flexible information system that can be implemented in most of the organi-ation. *lmost all the aspects that are existing in the current manual system has been taken to a number of accounts. /he system is very much user friendly. 9ven without having working experience of the system, it can be handled in a very efficient manner. /he screens are ad0usted in a structured hierarchical manner such that one can move from one screen to the another easily with the help of menu.
93 Limit&tio%<
1. %. 1. ;. ?. 2. 5. 7. /he software is not centrali-ed. /he billing module does work for floating point numbers. /here is not payroll system for the employee. 9ach and every department works Independently and generates its own bill. /his software takes the present date from the system so if the system date is anyhow wrong the software may malfunction. /his software does not provide backup. /he hotel personal expenses billing is generated on monthly basis.
1=7
93! -IOGRAPHY -OOKSB1. %. 1. ;. +isual )asic 2.= in %1 !ays $umita *rora )ook +isual )asic 3ro0ect $oma !as ,upta" +) Complete reference.
WE- SITE>7
1. %. ,oogle $earch engine www.alvbcode.com
1=: