kapiaba Posted June 8, 2016 Report Share Posted June 8, 2016 Galera, para abrir um banco do Firebird(.GBD) com este programa exemplo, preciso do Firebird instalado? Se sim, onde conseguir o Firebird? Fonte: http://www.pctoledo.com.br/forum/viewtopic.php?f=57&t=15736 #include "adoXb.ch" #include "AdoXb.prg" * #Include 'Inkey.ch' #Include 'i_keybd.ch' #include "FiveWin.ch" #include "ado.ch" #include "set.ch" #include "common.ch" #include "directry.ch" #include "fileio.ch" #include "hbcompat.ch" #include "hbwin.ch" ... ... ... ADOSetRDD( "FIREBIRD" ) // ADOGDB ADORDDDefault( "FIREBIRD" ) // ADOGDB cADORDD := "FIREBIRD" ... ... PUBLIC StrDatabas := cSmallPath + "Small.gdb" PUBLIC StrConnect := "DRIVER=Firebird/InterBase(r) driver; UID=sysdba; PWD=masterkey; DBNAME=" + StrDatabas ... ... ADOSetRDD( "FIREBIRD" ) // ADOGDB ADORDDDefault( "FIREBIRD" ) // ADOGDB cADORDD := "FIREBIRD" ADO CONNECT StrConnect oConexao := TOLEAUTO():New("ADODB.Connection") oRecSet := TOLEAUTO():New("ADODB.RecordSet") ... ... // A variável "c_SeleStr" abaixo deve obedecer a sintaxe do Firebird. c_SeleStr := "select " +; "A.NM_PACIENTE_SEM_ACENTO NOME, " +; "A.DT_NASCIMENTO NASC, " +; ... ... "from PRESCR_LABORATORIO_V A, " +; " PRESCR_LAB_INTEGRACAO_V B " +; "where A.NR_PRESCRICAO = B.NR_PRESCRICAO " +; "and A.NR_SEQUENCIA = B.NR_SEQUENCIA " +; "and B.DT_INTEGRACAO is null " +; "order by PRESCRICAO, URGENCIA, PREV_COLETA" // Estas linhas abaixo eu uso com o banco ORACLE. // No Firebird deve ser igual ou muito semelhante. // O objeto oRecSet conterá os dados que satifazem ao select acima. WITH Object oRecSet * :cursorType := adOpenForwardOnly // OPÇÕES: adOpenForward // adOpenDynamic // adOpenStatic // :activeConnection := oConexao :cursorLocation := adUseServer :maxRecords := 100000 :cacheSize := 100 :source := c_SeleStr * :open() * WHILE ! :EOF() && ou outra função // aqui você faz a leitura das variáveis do banco GDB c_Nome := :Fields( "NOME" ):Value d_Nasc := :Fields( "NASC" ):Value etc..... :MoveNext() // aqui você grava as variáveis no DBF APPEND BLANK etc. ENDDO ENDWITH // Fecha o RecSet e fecha a Conexão. IF Type( 'oRetSet' ) == "O" oRecSet:Close() ENDIF IF Type( 'oConexão' ) == "O" oConexao:Close() ENDIF Quote Link to comment Share on other sites More sharing options...
rochinha Posted June 8, 2016 Report Share Posted June 8, 2016 Amiguinhos, Firebird 2.5.1 ODBC Driver É só o que precisas instalar. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 8, 2016 Author Report Share Posted June 8, 2016 Obg. Rochinha, eu instalei o firebird, mas ele não "sobe" o que está errado? Abs Quote Link to comment Share on other sites More sharing options...
fladimir Posted June 8, 2016 Report Share Posted June 8, 2016 Se teu Windows for 64 usa o Firebird 64, pode ser isto.. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 8, 2016 Author Report Share Posted June 8, 2016 Se teu Windows for 64 usa o Firebird 64, pode ser isto.. não, é 7 de 32 bits. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 8, 2016 Author Report Share Posted June 8, 2016 Mais versões do Firebird: http://www.firebirdsql.org/en/firebird-1-5/ Conforme o Rochinha: O driver Firebird é diferente de MySQL, consiste em uma DLL/OCX que será chamada pelo ADO, que por sua vez será chamado pelo seu aplicativo usando a ADOxB do código que postou. Ai... phodeo... Treko xato do kpeta. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 8, 2016 Author Report Share Posted June 8, 2016 Galera, ajuda aqui neste código do Vilian, porfa! http://forums.fivetechsupport.com/viewtopic.php?f=6&t=32557 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 8, 2016 Author Report Share Posted June 8, 2016 Rochinha, esse executáveis, funcionam? http://www.pctoledo.com.br/forum/viewtopic.php?t=6772#p35335 Rochinha, links quebrados. abs Quote Link to comment Share on other sites More sharing options...
rochinha Posted June 8, 2016 Report Share Posted June 8, 2016 Amiguinhos, kapiaba Se você necessita abrir somente um .GBD não precisa instalar o Firebird Server, só o driver ODBC dá conta. Ou então desisntale este servidor e instale um mais novo, com certeza o driver será instalado junto e você poderá acessar o arquivo. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 8, 2016 Author Report Share Posted June 8, 2016 Amiguinhos, kapiaba Se você necessita abrir somente um .GBD não precisa instalar o Firebird Server, só o driver ODBC dá conta. Ou então desisntale este servidor e instale um mais novo, com certeza o driver será instalado junto e você poderá acessar o arquivo. Rochinha, o 3.0 tem o drive odbc? http://www.firebirdsql.org/en/firebird-3-0-0/ Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 9, 2016 Author Report Share Posted June 9, 2016 Alguém pode me dizer o que está faltando? Obg. abs. http://forums.fivetechsupport.com/viewtopic.php?f=6&t=32557&p=191365#p191365 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 9, 2016 Author Report Share Posted June 9, 2016 Rochinha, não seria essa versão do Firebird a ser instalada? A que vc. indicou me parece que não tem ODBC. http://www.firebirdsql.org/en/odbc-driver/ Quote Link to comment Share on other sites More sharing options...
aferra Posted June 9, 2016 Report Share Posted June 9, 2016 pesquisando sobre o assunto, acredito que seja Interbase, portanto tente esse: http://www.baixaki.com.br/download/ibexpert.htm kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 9, 2016 Author Report Share Posted June 9, 2016 pesquisando sobre o assunto, acredito que seja Interbase, portanto tente esse: http://www.baixaki.com.br/download/ibexpert.htm Já tentei com este, mas é uma bosnia... não consegui. mas estou resolvendo de outra forma. Obg. abs. Quote Link to comment Share on other sites More sharing options...
rochinha Posted June 11, 2016 Report Share Posted June 11, 2016 Amiguinhos, Consegui conexão com um arquivo .GDB instalando o que tenho aqui. - Instalei Firebird-2.1.3.18185_0_Win32.exe - Copiei c:\windows\system32\gds32.dll para a pasta do database - Especifiquei o caminho completo do database na string de conexão /* * * Mais informacoes sobre ADO em * http://www.microsoft.com/brasil/technet/Colunas/scriptcenter/resources/officetips/nov05/tips1103.mspx * */ #include "Fivewin.ch" #include "adoxb.ch" // Instalei Firebird-2.1.3.18185_0_Win32.exe // Copiei c:\windows\system32\gds32.dll para a pasta do database // Especifiquei o caminho completo do database FUNCTION MAIN() PUBLIC oRs ADOSetRDD( "Firebird" ) StrDatabase := "Z:\D_\disco\E\FONTES\NFW\harbour\libs\adodb\gdb\adogdb.gdb" StrConnection := "DRIVER=Firebird/InterBase(r) driver; UID=SYSDBA; PWD=masterkey; Database="+StrDatabase+"; DIALECT=3" //; vendorclient=gds32.dll;" MsgRun( "Conectando..." ) ADO CONNECT StrConnection oRs := oRecordSet // Cria tabelas se nao existirem if ADOFile( "clientes" ) else MsgRun( "Criando tabela CLIENTES..." ) ADO EXECUTE "DROP TABLE clientes" ADO EXECUTE "CREATE TABLE clientes (nome char(45), email char(45), unique(nome))" endif if ADOFile( "siglas" ) else MsgRun( "Criando tabela SIGLAS..." ) ADO EXECUTE "DROP TABLE siglas" ADO EXECUTE "CREATE TABLE siglas (uf char(2), estado char(20), unique(uf))" endif if ADOFile( "teste" ) else MsgRun( "Criando tabela TESTE..." ) ADO EXECUTE "DROP TABLE teste" ADO EXECUTE "CREATE TABLE teste (uf char(2), estado char(20), unique(uf))" endif // Abre as tabelas ADO USE clientes ADO USE siglas // Verifica se ja possuem dados ADO SELECT clientes //ADO GOTOP nRegistros := ADORecCount() // ? ADOAlias(), nRegistros if nRegistros = 0 ADO APPEND BLANK ADO REPLACE nome WITH "JOSE CARLOS DA ROCHA" ADO REPLACE email WITH "IROCHINHA@ITELEFONICA.COM.BR" ADO COMMIT endif ADO SELECT siglas //ADO GOTOP nRegistros := ADORecCount() // ? ADOAlias(), nRegistros if nRegistros = 0 ADO APPEND BLANK ADO REPLACE uf WITH "SP" ADO REPLACE estado WITH "SAO PAULO" ADO COMMIT ADO APPEND BLANK ADO REPLACE uf WITH "RJ" ADO REPLACE estado WITH "RIO DE JANEIRO" ADO COMMIT endif MsgRun( "Executando..." ) ADO SELECT clientes ADO GOTOP MsgRun( "Executando SET FILTER TO nome like '*teste*'..." ) ADO SET FILTER TO "nome like '*tete*'" if ADOEof() ? 'Nada foi filtrado' ADO SET FILTER TO ADO GOTOP endif Browse( oRs ) ADO SET FILTER TO MsgRun( "Executando LOCATE nome like 'TESTES'..." ) ADO LOCATE "nome like 'TESTES*'" if ADOEof() ? 'Nada foi encontrado' ADO GOTOP endif Browse( oRs ) //MsgRun( "Executando SORT ON nome..." ) //ADO SORT ON clientes.nome //Browse( oRs ) //WBrowseRecordSet( oRs, StrField2 ) //Browse( oRs ) ADO CLOSE RETURN NIL function WBrowseRecordSet( oRs, cStrField ) LOCAL oDlg, oBrw, nRec DEFINE DIALOG oDlg SIZE 300, 300 @ 0, 0 LISTBOX oBrw FIELDS oRs:Fields( "nome" ):Value ; HEADERS "Nome do Cliente" ; FIELDSIZES 300 ; ON RIGHT CLICK ( nRec := oRs:AbsolutePosition,; oBrw:Report( "TWBrowse report", .T. ),; oRs:MoveFirst(),; oRs:Move( nRec - 1 ) ) oBrw:bLDblClick:= { |nRow,nCol| MsgStop( oRs:Fields( "email" ):Value ) } oBrw:nHeaderStyle := 2 oBrw:nHeaderHeight := 20 oBrw:nLineHeight := 15 oBrw:bLogicLen := { || oRs:RecordCount } oBrw:bGoTop := { || oRs:MoveFirst() } oBrw:bGoBottom := { || oRs:MoveLast() } oBrw:bSkip := { | nSkip | ADOSkipper( oRs, nSkip ) } oBrw:cAlias := "ARRAY" ACTIVATE DIALOG oDlg; ON INIT oDlg:SetControl( oBrw ); CENTER RETURN NIL function browse(oRs, bPrc, bAdc, bAlt, bExc, bImp, bSai) LOCAL oDlg, oBrw, nRec LOCAL aData := {} LOCAL nFor LOCAL oLbx, cItem LOCAL btnPrc, btnAdc, btnAlt, btnExc, btnImp, btnsai DEFAULT bPrc := { || RecPrc( oLbx ) },; bAdc := { || RecInc( oLbx ) },; bAlt := { || RecAlt( oLbx ) },; bExc := { || RecExc( oLbx ) },; bImp := { || RecImp( oLbx ) },; bSai := { || oDlg2:End() } DEFINE DIALOG oDlg2 From 0,0 To 800,1020 Pixel TITLE " ListBox da Tabela " @ 05,15 listbox oBrw Fields ADOField( "nome" ), ADOField( "email" ) ; headers "Nome","email" ; fieldsizes 250,100 ; pixel size 400,300 of odlg2 //oBrw:bLDblClick:= { |nRow,nCol| MsgStop( oRs:Fields( "apelido" ):Value ) } oBrw:nHeaderStyle := 2 oBrw:nHeaderHeight := 20 oBrw:nLineHeight := 15 oBrw:bLogicLen := { || ADORecCount() } oBrw:bGoTop := { || ADOGotop() } oBrw:bGoBottom := { || ADOGoBottom() } oBrw:bSkip := { | nSkip | ADOSkip( nSkip ) } oBrw:cAlias := "ARRAY" @ 18.7 , 05 button btnprc prompt "&Procurar" of oDlg2 size 40,12 Action RecPrc(oBrw) @ 18.7 , 15 button btnadc prompt "&Adicionar" of oDlg2 size 40,12 Action RecInc(oBrw) @ 18.7 , 25 button btnalt prompt "A<erar" of oDlg2 size 40,12 Action RecAlt(oBrw) @ 18.7 , 35 button btnexc prompt "&Excluir" of oDlg2 size 40,12 Action RecExc(oBrw) @ 18.7 , 45 button btnimp prompt "&Imprimir" of oDlg2 size 40,12 @ 18.7 , 55 button btnsai prompt "&Sair" of oDlg2 size 40,12 Action oDlg2:End() ACTIVATE DIALOG oDlg2 //; //ON INIT oDlg2:SetControl( oBrw ); //CENTER RETURN NIL function ADOSkipper( oRs, nSkip ) LOCAL nRec := oRs:AbsolutePosition oRs:Move( nSkip ) IF oRs:EOF; oRs:MoveLast(); ENDIF IF oRs:BOF; oRs:MoveFirst(); ENDIF RETURN oRs:AbsolutePosition - nRec //----------------------------------------------------------- static function RecPrc(oLbx) Local odlg1 Local cCodigo:=0 Local cSair:=" " Local sql DEFINE DIALOG oDlg1 From 0,0 To 160,250 PIXEL; TITLE " Procura na Tabela em Access " DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10 && Use a Nonproportional font SET FONT OF oDlg1 TO oFont && so characters line up in Says @ 02,05 say "Codigo : " OF oDlg1 @ 02.2,10 get cCodigo OF oDlg1 picture "9999" size 20,10 @ 02.7 , 10 button "Procurar" of oDlg1 size 40,12 action (cSair:="*",oDlg1:End()) ACTIVATE DIALOG oDlg1 centered if cSair="*" //locate for (odbf:cAlias)->field_0001 = cCodigo criterio = "idpessoa Like '" + cCodigo + "%'" //oRs:MoveFirst() //oRs:Find criterio, 0, adSearchFoward if eof() msgAlert("NÆo encontrado !!!") go top endif oLbx:Refresh() endif return nil //----------------------------------------------------------- static function RecInc(oLbx) LOCAL odlg3 LOCAL cNome := space(40) LOCAL cTelefone := space(14) LOCAL cEmail := space(40) LOCAL cSair := " " DEFINE DIALOG oDlg3 From 0,0 To 230,500 PIXEL TITLE " Inclusao na Tabela em Access " DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10 && Use a Nonproportional font SET FONT OF oDlg3 TO oFont && so characters line up in Says @ 02,05 say "Nome_____: " OF oDlg3 @ 04,05 say "Email____: " OF oDlg3 // @ 02.2,10 get cNome OF oDlg3 picture "@!" size 150,10 @ 04.4,10 get cEmail OF oDlg3 picture "@!" size 150,10 // @ 04.7 , 15 button "Salvar" of oDlg3 size 40,12 action (cSair:="*",oDlg3:End()) ACTIVATE DIALOG oDlg3 centered if cSair="*" ADO APPEND BLANK ADO REPLACE nome WITH alltrim( cNome ) ADO REPLACE email WITH alltrim( cEmail ) ADO COMMIT oLbx:Refresh() endif return nil //----------------------------------------------------------- static function RecExc(oLbx) if MsgYesNo( "Excluir este Registro ?", "Por Favor, confirme" ) ADO DELETE //ADO SKIP oLbx:Refresh() endif return nil //----------------------------------------------------------- static function RecAlt(oLbx) LOCAL odlg3 LOCAL cNome := PadR( ADOField( "nome" ), 40 ) LOCAL cEmail := PadR( ADOField( "email" ), 40 ) LOCAL cSair := " " DEFINE DIALOG oDlg3 From 0,0 To 230,500 PIXEL TITLE " Inclusao na Tabela em Access " DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10 && Use a Nonproportional font SET FONT OF oDlg3 TO oFont && so characters line up in Says // @ 02,05 say "Nome_____: " OF oDlg3 @ 04,05 say "Email____: " OF oDlg3 // @ 02.2,10 get cNome OF oDlg3 picture "@!" size 150,10 @ 04.4,10 get cEmail OF oDlg3 picture "@!" size 150,10 // @ 04.7 , 15 button "Salvar" of oDlg3 size 40,12 action (cSair:="*",oDlg3:End()) ACTIVATE DIALOG oDlg3 centered if cSair="*" //ADO APPEND BLANK ADO REPLACE nome WITH alltrim( cNome ) ADO REPLACE email WITH alltrim( cEmail ) ADO COMMIT oLbx:Refresh() endif return nil //----------------------------------------------------------- static function RecImp( oLbx ) /* local oRpt local n local cAlias := If( oLbx != nil, oLbx:cAlias, Alias() ) REPORT oRpt TITLE "Relatorio: " + cAlias ; HEADER "Data: " + DToC( Date() ) + ", Hora: " + Time() ; FOOTER "Pagina: " + Str( oRpt:nPage, 3 ) ; PREVIEW if Empty( oRpt ) .or. oRpt:oDevice:hDC == 0 return nil endif for n = 1 to FCount() oRpt:AddColumn( TrColumn():New( { FInfo1( cAlias, n ) },,; { FInfo2( cAlias, n ) },,,,,,,,,, oRpt ) ) next ENDREPORT ACTIVATE REPORT oRpt GO TOP */ return nil //-------------------------------------------- static function FInfo1( cAlias, n ) return { || ( cAlias )->( FieldName( n ) ) } //----------------------------------------------------------- static function FInfo2( cAlias, n ) return { || ( cAlias )->( FieldGet( n ) ) } Function DbfDbt() Return Nil #include "adoxb.prg" ADOxb.ch ************************************************************************************** * * Cursor Location * * adUseServer 2 Atua no lado servidor * adUseClient 3 Atua no lado cliente * * Cursor Type * * adOpenForwardOnly 0 O cursor so navega para frente. Bom para listar dados * adOpenKeyset 1 Nao permite ver os registro adicionados e eliminados * adOpenDynamic 2 Aceita todas operacoes do utilizador e dos outros * adOpenStatic 3 Serve apenas para procurar dados ou gerar relatorios * * Lock Type Enum - Contantes de Seguranca * * adLockReadOnly 1 Apenas pode ler os registros * adLockPessimistic 2 O fornecedor dos dados fecha o registro apos edicao * adLockOptimistic 3 O fornecedor dos dados fecha o registro apos chamar o update * adLockBatchOptimistic 4 O mesmo que Optmistic mas para sequencia de comandos * * AllowNumsEnum * * adIndexNullsAllow 0 * adIndexNullsDisallow 1 * adIndexNullsIgnore 2 * adIndexNullsIgnoreAny 4 * ************************************************************************************** #command ADO CONNECT <StrDriver> [<disconected:DISCONECTED>] => ADOCONNECT( <StrDriver>, [<.disconected.>] ) #command ADO DISCONNECT => ADODISCONNECT() #command ADO APPEND BLANK => ADOAPPEND() #command ADO EDIT => ADOEDIT() #command ADO COMMIT [<save:SAVE>] => ADOCOMMIT( [<.save.>] ) #command ADO SKIP => ADOSKIP( 1 ) #command ADO SKIP <num> => ADOSKIP( <num> ) #command ADO DELETE => ADODELETE() #command ADO REPLACE <f1> WITH <v1> => ADOREPLACE( <(f1)>, <v1> ) #command ADO GOTOP => ADOGOTOP() #command ADO GOBOTTOM => ADOGOBOTTOM() #command ADO SET FILTER TO => ADOSETFILTER() #command ADO SET FILTER TO <xpr> => ADOSETFILTER( <xpr> ) #command ADO SAVE <(CfILE)> => ADOSAVE( <(CfILE)> ) #command ADO EXECUTE <*Sql*> => ADOEXECUTE( <(Sql)> ) #command ADO LOCATE <xpr> => ADOLOCATE( <xpr> ) #command ADO REGLOCK => ADOREGLOCK() #command ADO CLOSE => ADOCLOSE() #command ADO CLOSE ALL => ADOCLOSEALL() #command ADO USE => ADOUSE() #command ADO USE <(StrDatabase)> [<shared:SHARED>] => ADOUSE( <(StrDatabase)>, [<.shared.>] ) #command ADO SORT ON [<(cF)>][<(x)>]=> ADOSORT( [<(cF)>][, <(x)>] ) #command ADO SELECT <(cRecordSet)> => ADOSELECT( <(cRecordSet)> ) #xcommand ADO SQL DELETE <*cSQL*> => ADOEXECUTE( 'DELETE '+ <(cSQL)> ) #xcommand ADO SQL INSERT <*cSQL*> => ADOEXECUTE( 'INSERT '+ <(cSQL)> ) #xcommand ADO SQL UPDATE <*cSQL*> => ADOEXECUTE( 'UPDATE '+ <(cSQL)> ) #xcommand ADO SQL ALTER <*cSQL*> => ADOEXECUTE( 'ALTER ' + <(cSQL)> ) #xcommand ADO SQL CREATE <*cSQL*> => ADOEXECUTE( 'CREATE '+ <(cSQL)> ) #xcommand ADO SQL DROP <*cSQL*> => ADOEXECUTE( 'DROP ' + <(cSQL)> ) #xcommand ADO SQL RENAME <*cSQL*> => ADOEXECUTE( 'RENAME '+ <(cSQL)> ) #xcommand ADO SQL UPDATE <*cSQL*> => ADOEXECUTE( 'UPDATE '+ <(cSQL)> ) #xcommand ADO SQL GRANT <*cSQL*> => ADOEXECUTE( 'GRANT ' + <(cSQL)> ) #xcommand ADO SQL REVOKE <*cSQL*> => ADOEXECUTE( 'REVOKE '+ <(cSQL)> ) #xcommand DROP TABLE <*cSQL*> => ADOEXECUTE( 'DROP TABLE '+ <(cSQL)> ) #xcommand INSERT INTO <*cSQL*> => ADOEXECUTE( 'INSERT INTO '+ <(cSQL)> ) #xcommand CREATE TABLE <*cSQL*> => ADOEXECUTE( 'CREATE TABLE '+ <(cSQL)> ) #xcommand TRUNCATE TABLE <*cSQL*> => ADOEXECUTE( 'TRUNCATE TABLE '+ <(cSQL)> ) /*---- Lock Type Enum ----*/ #define adLockReadOnly 1 #define adLockPessimistic 2 #define adLockOptimistic 3 #define adLockBatchOptimistic 4 /*---- AllowNumsEnum ----*/ #define adIndexNullsAllow 0 #define adIndexNullsDisallow 1 #define adIndexNullsIgnore 2 #define adIndexNullsIgnoreAny 4 /*---- CursorTypeEnum Values ----*/ #define adOpenForwardOnly 0 #define adOpenKeyset 1 #define adOpenDynamic 2 #define adOpenStatic 3 /*---- LockTypeEnum Values ----*/ #define adLockReadOnly 1 #define adLockPessimistic 2 #define adLockOptimistic 3 #define adLockBatchOptimistic 4 /*---- CursorLocationEnum Values ----*/ #define adUseServer 2 #define adUseClient 3 /*---- DataTypeEnum Values ----*/ #define adEmpty 0 #define adTinyInt 16 #define adSmallInt 2 #define adInteger 3 #define adBigInt 20 #define adUnsignedTinyInt 17 #define adUnsignedSmallInt 18 #define adUnsignedInt 19 #define adUnsignedBigInt 21 #define adSingle 4 #define adDouble 5 #define adCurrency 6 #define adDecimal 14 #define adNumeric 131 #define adBoolean 11 #define adError 10 #define adUserDefined 132 #define adVariant 12 #define adIDispatch 9 #define adIUnknown 13 #define adGUID 72 #define adDate 7 #define adDBDate 133 #define adDBTime 134 #define adDBTimeStamp 135 #define adBSTR 8 #define adChar 129 #define adVarChar 200 #define adLongVarChar 201 #define adWChar 130 #define adVarWChar 202 #define adLongVarWChar 203 #define adBinary 128 #define adVarBinary 204 #define adLongVarBinary 205 #define adChapter 136 #define adFileTime 64 #define adPropVariant 138 #define adVarNumeric 139 #define adArray &H2000 /*---- GetRowsOptionEnum Values ----*/ #define adGetRowsRest -1 /*---- PositionEnum Values ----*/ #define adPosUnknown -1 #define adPosBOF -2 #define adPosEOF -3 /*---- BookmarkEnum Values ----*/ #define adBookmarkCurrent 0 #define adBookmarkFirst 1 #define adBookmarkLast 2 /*---- MarshalOptionsEnum Values ----*/ #define adMarshalAll 0 #define adMarshalModifiedOnly 1 /*---- AffectEnum Values ----*/ #define adAffectCurrent 1 #define adAffectGroup 2 #define adAffectAllChapters 4 /*---- ResyncEnum Values ----*/ #define adResyncUnderlyingValues 1 #define adResyncAllValues 2 /*---- CompareEnum Values ----*/ #define adCompareLessThan 0 #define adCompareEqual 1 #define adCompareGreaterThan 2 #define adCompareNotEqual 3 #define adCompareNotComparable 4 /*---- FilterGroupEnum Values ----*/ #define adFilterNone 0 #define adFilterPendingRecords 1 #define adFilterAffectedRecords 2 #define adFilterFetchedRecords 3 #define adFilterConflictingRecords 5 /*---- SearchDirectionEnum Values ----*/ #define adSearchForward 1 #define adSearchBackward -1 /*---- PersistFormatEnum Values ----*/ #define adPersistADTG 0 #define adPersistXML 1 /*---- StringFormatEnum Values ----*/ #define adClipString 2 /*---- ConnectPromptEnum Values ----*/ #define adPromptAlways 1 #define adPromptComplete 2 #define adPromptCompleteRequired 3 #define adPromptNever 4 /*---- ConnectModeEnum Values ----*/ #define adModeUnknown 0 #define adModeRead 1 #define adModeWrite 2 #define adModeReadWrite 3 #define adModeShareDenyRead 4 #define adModeShareDenyWrite 8 #define adModeShareExclusive 12 #define adModeShareDenyNone 16 /*---- EventReasonEnum Values ----*/ #define adRsnAddNew 1 #define adRsnDelete 2 #define adRsnUpdate 3 #define adRsnUndoUpdate 4 #define adRsnUndoAddNew 5 #define adRsnUndoDelete 6 #define adRsnRequery 7 #define adRsnResynch 8 #define adRsnClose 9 #define adRsnMove 10 #define adRsnFirstChange 11 #define adRsnMoveFirst 12 #define adRsnMoveNext 13 #define adRsnMovePrevious 14 #define adRsnMoveLast 15 /*---- SchemaEnum Values ----*/ #define adSchemaProviderSpecific -1 #define adSchemaAsserts 0 #define adSchemaCatalogs 1 #define adSchemaCharacterSets 2 #define adSchemaCollations 3 #define adSchemaColumns 4 #define adSchemaCheckConstraints 5 #define adSchemaConstraintColumnUsage 6 #define adSchemaConstraintTableUsage 7 #define adSchemaKeyColumnUsage 8 #define adSchemaReferentialConstraints 9 #define adSchemaTableConstraints 10 #define adSchemaColumnsDomainUsage 11 #define adSchemaIndexes 12 #define adSchemaColumnPrivileges 13 #define adSchemaTablePrivileges 14 #define adSchemaUsagePrivileges 15 #define adSchemaProcedures 16 #define adSchemaSchemata 17 #define adSchemaSQLLanguages 18 #define adSchemaStatistics 19 #define adSchemaTables 20 #define adSchemaTranslations 21 #define adSchemaProviderTypes 22 #define adSchemaViews 23 #define adSchemaViewColumnUsage 24 #define adSchemaViewTableUsage 25 #define adSchemaProcedureParameters 26 #define adSchemaForeignKeys 27 #define adSchemaPrimaryKeys 28 #define adSchemaProcedureColumns 29 #define adSchemaDBInfoKeywords 30 #define adSchemaDBInfoLiterals 31 #define adSchemaCubes 32 #define adSchemaDimensions 33 #define adSchemaHierarchies 34 #define adSchemaLevels 35 #define adSchemaMeasures 36 #define adSchemaProperties 37 #define adSchemaMembers 38 #define adSchemaTrustees 39 /*---- FieldStatusEnum Values ----*/ #define adFieldOK 0 #define adFieldCantConvertValue 2 #define adFieldIsNull 3 #define adFieldTruncated 4 #define adFieldSignMismatch 5 #define adFieldDataOverflow 6 #define adFieldCantCreate 7 #define adFieldUnavailable 8 #define adFieldPermissionDenied 9 #define adFieldIntegrityViolation 10 #define adFieldSchemaViolation 11 #define adFieldBadStatus 12 #define adFieldDefault 13 #define adFieldIgnore 15 #define adFieldDoesNotExist 16 #define adFieldInvalidURL 17 #define adFieldResourceLocked 18 #define adFieldResourceExists 19 #define adFieldCannotComplete 20 #define adFieldVolumeNotFound 21 #define adFieldOutOfSpace 22 #define adFieldCannotDeleteSource 23 #define adFieldReadOnly 24 #define adFieldResourceOutOfScope 25 #define adFieldAlreadyExists 26 #define adFieldPendingInsert &H10000 #define adFieldPendingDelete &H20000 #define adFieldPendingChange &H40000 #define adFieldPendingUnknown &H80000 #define adFieldPendingUnknownDelete &H100000 /*---- SeekEnum Values ----*/ #define adSeekFirstEQ &H1 #define adSeekLastEQ &H2 #define adSeekAfterEQ &H4 #define adSeekAfter &H8 #define adSeekBeforeEQ &H10 #define adSeekBefore &H20 /*---- ADCPROP_UPDATECRITERIA_ENUM Values ----*/ #define adCriteriaKey 0 #define adCriteriaAllCols 1 #define adCriteriaUpdCols 2 #define adCriteriaTimeStamp 3 /*---- ADCPROP_ASYNCTHREADPRIORITY_ENUM Values ----*/ #define adPriorityLowest 1 #define adPriorityBelowNormal 2 #define adPriorityNormal 3 #define adPriorityAboveNormal 4 #define adPriorityHighest 5 /*---- ADCPROP_AUTORECALC_ENUM Values ----*/ #define adRecalcUpFront 0 #define adRecalcAlways 1 /*---- ADCPROP_UPDATERESYNC_ENUM Values ----*/ /*---- ADCPROP_UPDATERESYNC_ENUM Values ----*/ /*---- MoveRecordOptionsEnum Values ----*/ #define adMoveUnspecified -1 #define adMoveOverWrite 1 #define adMoveDontUpdateLinks 2 #define adMoveAllowEmulation 4 /*---- CopyRecordOptionsEnum Values ----*/ #define adCopyUnspecified -1 #define adCopyOverWrite 1 #define adCopyAllowEmulation 4 #define adCopyNonRecursive 2 /*---- StreamTypeEnum Values ----*/ #define adTypeBinary 1 #define adTypeText 2 /*---- LineSeparatorEnum Values ----*/ #define adLF 10 #define adCR 13 #define adCRLF -1 /*---- StreamOpenOptionsEnum Values ----*/ #define adOpenStreamUnspecified -1 #define adOpenStreamAsync 1 #define adOpenStreamFromRecord 4 /*---- StreamWriteEnum Values ----*/ #define adWriteChar 0 #define adWriteLine 1 /*---- SaveOptionsEnum Values ----*/ #define adSaveCreateNotExist 1 #define adSaveCreateOverWrite 2 /*---- FieldEnum Values ----*/ #define adDefaultStream -1 #define adRecordURL -2 /*---- StreamReadEnum Values ----*/ #define adReadAll -1 #define adReadLine -2 /*---- RecordTypeEnum Values ----*/ #define adSimpleRecord 0 #define adCollectionRecord 1 #define adStructDoc 2 ADOxb.prg **************************************************************************************** * * CursorType * * adOpenForwardOnly 0 O cursor so navega para frente. Bom para listar dados * adOpenKeyset 1 Nao permite ver os registro adicionados e eliminados * adOpenDynamic 2 Aceita todas operacoes do utilizador e dos outros * adOpenStatic 3 Serve apenas para procurar dados ou gerar relatorios * * LockTypeEnum - Contantes de Seguranca * * adLockReadOnly 1 Apenas pode ler os registros * adLockPessimistic 2 O fornecedor dos dados fecha o registro apos edicao * adLockOptimistic 3 O fornecedor dos dados fecha o registro apos chamar o update * adLockBatchOptimistic 4 O mesmo que Optmistic mas para sequencia de comandos * * SortOrdEnum - Contantes de Ordenacao * * adSortAscending 1 Ordem ascendente * adSortDescending 2 Ordem descendente * **************************************************************************************** #include "adoxb.ch" #ifndef _ADO_xHarbour_ #define _ADO_Harbour_ #endif * *--------------------------------------------------------- Function ADOSetRDD( cRDDName ) public cADORDD PUBLIC aRecordSet, oRS, oRecordSet, nConnection, nRecordSet, aIndexOrder, ; nIndexOrder, StrConnection, aADOConection, oADOConection, oADOIndex, ; oADOErrDescription, oADOCatalog, oADOTable, oADOStream, oADOConvert nConnection := 1 aADOConection := {} oADOConection := Array(10) cADORDD := iif( cRDDName=NIL, "DBF", cRDDName ) return cADORDD * *--------------------------------------------------------- #ifdef _ADO_Harbour_ Function ADOConnect( StrDriver ) //PUBLIC aRecordSet, oRecordSet, nRecordSet, aIndexOrder, nIndexOrder, StrConnection, oADOConection, oADOErrDescription, oADOIndex, oADOCatalog, oADOTable aRecordSet := {} oRecordSet := Array(50) oADOIndex := Array(10) nRecordSet := 0 aIndexOrder := {} nIndexOrder := 1 StrConnection := StrDriver AADD( aADOConection, StrDriver ) // Controla numero de conexoes nConnection := len( aADOConection ) oADOConection := TOLEAUTO():New("ADODB.connection") oADOStream := TOLEAUTO():New("ADODB.Stream") oADOErrDescription := TOLEAUTO():New("ADODB.Err") oADOIndex := TOLEAUTO():New("ADOX.Index") oADOCatalog := TOLEAUTO():New("ADOX.Catalog") oADOConvert := TOLEAUTO():New("RSConvert.DBF") oADOConection:CommandTimeOut := 200 oADOConection:ConnectionTimeOut := 10 oADOConection:CursorLocation := adUseClient oADOConection:Mode := adModeShareDenyNone // adModeRead 1, adModeWrite 2, adModeReadWrite 3 //oADOConection:Provider := "MSDAORA" //oADOConection:Properties("Data Source"):Value := "MyOracleServer" //oADOConection:Properties("User ID"):Value := "username" //oADOConection:Properties("Password"):Value := "password" oADOConection:Open( StrConnection ) return 'connected' #endif _ADO_Harbour_ * *--------------------------------------------------------- #ifdef _ADO_Harbour_ Function ADODBCREATE( cDatabase ) oADOCreateCatalog := TOLEAUTO():New("ADOX.Catalog") StrConnection := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + cDatabase oADOCreateCatalog:Create( StrConnection ) oADOCreateCatalog := nil return .t. * *--------------------------------------------------------- Function ADODBCREATESQL( cFname, aFields ) LOCAL cTmp := "" cTmp := cTmp + "CREATE TABLE "+lower(cFname)+"(" cTmp := cTmp + "RECNO INT NOT NULL AUTO_INCREMENT," for i = 1 to len(aFields) cName := lower(aFields[i][1]) cType := aFields[i][2] nLen := aFields[i][3] nDec := aFields[i][4] do case case cType == "C" cTmp := cTmp + " " + cName + " CHAR("+alltrim(str(nLen)) + "), " case cType == "M" cTmp := cTmp + " " + cName + " BLOB, " case cType == "L" cTmp := cTmp + " " + cName + " TINYINT(1), " case cType == "D" cTmp := cTmp + " " + cName + " DATE, " case cType == "N" if( nDec == 0 ) cTmp := cTmp + " " + cName + " INT("+alltrim(str(nLen)) + "), " else cTmp := cTmp + " " + cName + " DOUBLE("+alltrim(str(nLen))+","+alltrim(str(nDec)) + "), " endif endcase next cTmp := cTmp + "PRIMARY KEY(RECNO) )" + CR ADO EXECUTE "DROP TABLE IF EXISTS "+lower(cFname) ADO EXECUTE cTmp return .t. Function ADOCREATE( cTable, aFields ) //local oADOTable := TOLEAUTO():New("ADOX.Table") //oADOCatalog:ActiveConnection := StrConnection //oADOTable:Name := cTable //for i = 1 to len( aFields ) // oADOTable:Columns:Append( aFields[i][1], GetFieldType(aFields[i][2]), aFields[i][3] ) //next //oADOCatalog:Tables:Append( oADOTable ) //oADOTable:Close() //oADOTable:End() // //oADOCreateCatalog := TOLEAUTO():New("ADOX.Catalog") //oADOCreateTable := TOLEAUTO():New("ADOX.Table") //oADOCreateCatalog:Create( StrConnection ) //oADOCreateTable:Name := cTable //for i = 1 to len( aFields ) // oADOCreateTable:Columns:Append( aFields[i][1], GetFieldType(aFields[i][2]) ) //, aFields[i][3] ) //next //oADOCreateCatalog:Tables:Append( cTable ) //return .t. #endif _ADO_Harbour_ * *--------------------------------------------------------- #ifdef _ADO_Harbour_ Function ADOIndex( cTable, cIDXField, cIDXName, cIDXAscend ) local adSortAscending := 1, adSortDescending := 2 local oADOTable := TOLEAUTO():New("ADOX.Table") cIDXAscend := iif( cIDXAscend = nil, .t., cIDXAscend ) if .not. ADOFILE( "INDEXES" ) oADOCatalog:ActiveConnection := StrConnection oADOTable:Name := "INDEXES" oADOTable:Columns:Append( "NumField", adInteger, 20 ) oADOTable:Columns:Append( "TextField", adVarWChar, 20 ) oADOCatalog:Tables:Append( oADOTable ) endif AADD( aIndexOrder, cTable ) nIndexOrder := len( aIndexOrder ) oADOIndex[nIndexOrder] := TOLEAUTO():New("ADOX.Index") oADOIndex[nIndexOrder]:Name := cIDXName oADOIndex[nIndexOrder]:Columns:Append( cIDXField ) oADOIndex[nIndexOrder]:Columns( cIDXField ):SortOrder = iif( cIDXAscend, adSortAscending, adSortDescending ) //oADOIndex[nIndexOrder]:PrimaryKey := .t. //oADOIndex[nIndexOrder]:Unique := .t. oADOIndex[nIndexOrder]:IndexNulls := adIndexNullsAllow // Adciona o indice criado ao catalogo //oADOCatalog:Tables( cTable ) //:Indexes:Append( oADOIndex[nIndexOrder] ) oADOTable:Indexes:Append( oADOIndex ) oADOCatalog:Tables:Append( oADOTable ) oADOTable:Close() oADOTable:End() return .t. #endif _ADO_Harbour_ * *--------------------------------------------------------- #ifdef _ADO_Harbour_ Function ADOUse( cDatabase, lShared ) local oError if "XML" $ cADORDD cDatabase := cDatabase + ".xml" endif if cADORDD = "XLS" cDatabase := "[" + cDatabase + "$]" endif if cDatabase = NIL oRecordSet[nRecordSet]:Close() oRecordSet[nRecordSet]:End() else AADD( aRecordSet, cDatabase ) cRecordSet := cDatabase nRecordSet := len( aRecordSet ) oRS := oRecordSet[nRecordSet] := TOleAuto():New( "ADODB.Recordset" ) if "XML" $ cADORDD oRecordSet[nRecordSet]:Open( cDatabase, StrConnection, 1, 3 ) else oRecordSet[nRecordSet]:CacheSize := 50 oRecordSet[nRecordSet]:CursorLocation := adUseClient if lShared = .t. oRecordSet[nRecordSet]:CursorType := adOpenDynamic oRecordSet[nRecordSet]:LockType := adLockOptimistic else oRecordSet[nRecordSet]:CursorType := adOpenStatic oRecordSet[nRecordSet]:LockType := adLockPessimistic endif oRecordSet[nRecordSet]:Open( "Select * from " + cDatabase, StrConnection, iif(lShared=.t.,3,1), 3 ) endif ADOGOTOP() // oRecordSet[nRecordSet]:MoveFirst() endif //oRS := oRecordSet //ADOGetRows() * CursorType * * adOpenForwardOnly 0 O cursor so navega para frente. Bom para listar dados * adOpenKeyset 1 Nao permite ver os registro adicionados e eliminados * adOpenDynamic 2 Aceita todas operacoes do utilizador e dos outros * adOpenStatic 3 Serve apenas para procurar dados ou gerar relatorios * * LockTypeEnum - Contantes de Seguranca * * adLockReadOnly 1 Apenas pode ler os registros * adLockPessimistic 2 O fornecedor dos dados fecha o registro apos edicao * adLockOptimistic 3 O fornecedor dos dados fecha o registro apos chamar o update * adLockBatchOptimistic 4 O mesmo que Optmistic mas para sequencia de comandos return oRecordSet #endif _ADO_Harbour_ #ifdef _ADO_Harbour_ * *--------------------------------------------------------- function ADOGetRows() cADOTMPConection := aRecordSet[nRecordSet]+".DBF" // cFilePath(GetModuleFileName(GetInstance()))+"TMP"+Alltrim(StrZero(Random(99999),5))+".DBF" aRSFNames := aRSFields := aRSData := {} nRSRCount := ADORecCount() nRSFCount := ADOFieldCount() for i = 0 to nRSFCount cRSFName := oRecordSet[nRecordSet]:Fields(i):Name cRSFType := TypeDat(oRecordSet[nRecordSet]:Fields(i):Type,cRSFName) nRSFLong := oRecordSet[nRecordSet]:Fields(i):DefinedSize nRSFDecm := oRecordSet[nRecordSet]:Fields(i):Precision if cRSFType = "C" aadd( aRSFields, { cRSFName, cRSFType, nRSFLong, nRSFDecm } ) elseif cRSFType = "N" aadd( aRSFields, { cRSFName, cRSFType, nRSFLong, nRSFDecm } ) elseif cRSFType = "L" aadd( aRSFields, { cRSFName, cRSFType, nRSFLong, nRSFDecm } ) elseif cRSFType = "D" aadd( aRSFields, { cRSFName, cRSFType, nRSFLong, nRSFDecm } ) endif next // Cria estrutura com base nas colunas do recordset e pega a estrutura dbCreate( cADOTMPConection, aRSFields ) aDBFNames := dbStruct() // Cria array contendo os nomes de campos For i = 1 to len(aDBFNames) aadd( aRSFNames, aDBFNames[i][1] ) next // Se existe o dbf temporario criado... if file(cADOTMPConection) oRecordSet[nRecordSet]:MoveFirst() dbUseArea(.T., Nil, cADOTMPConection, aRecordSet[nRecordSet], .F.) for ii = 1 to nRSRCount // Conta cada registro no recordset append blank For i = 0 to nRSFCount // conta cada coluna do recordset //cRSFName := substr(oRecordSet[nRecordSet]:Fields(i):Name,1,10) //cRSFValue := oRecordSet[nRecordSet]:Fields(i):Value //replace &(cRSFName) with cRSFValue FieldPut( i+1, oRecordSet[nRecordSet]:Fields(i):Value ) next commit oRecordSet[nRecordSet]:MoveNext() next dbGotop() //msgstop(len(aRSFNames),aRSFNames[1],aRSFNames[5]) //aRSData := CopyToArray( aRSFNames ) //use endif return aRSData * *--------------------------------------------------------- function ADO2GetRows() cADOTMPConection := cFilePath(GetModuleFileName(GetInstance()))+"TMP"+Alltrim(StrZero(Random(99999),5))+".DBF" ? len(oRecordSet[nRecordSet]:GetRows) aRSFNames := aRSFields := aRSData := {} nRSRCount := ADORecCount() nRSFCount := ADOFieldCount() For i = 1 to nRSFCount cRSFName := oRecordSet[nRecordSet]:Fields(i):Name cRSFType := TypeDat(oRecordSet[nRecordSet]:Fields(i):Type,cRSFName) nRSFLong := oRecordSet[nRecordSet]:Fields(i):DefinedSize nRSFDecm := oRecordSet[nRecordSet]:Fields(i):Precision aadd( aRSFields, { cRSFName, cRSFType, nRSFLong, nRSFDecm } ) next dbCreate( cADOTMPConection, aRSFields ) aDBFNames := dbStruct() For i = 1 to len(aDBFNames) aadd( aRSFNames, aDBFNames[i][1] ) next if file(cADOTMPConection) oRecordSet[nRecordSet]:MoveFirst() dbUseArea(.T., Nil, cADOTMPConection, Nil, .F.) for ii = 1 to nRSRCount append blank For i = 1 to nRSFCount cRSFName := substr(oRecordSet[nRecordSet]:Fields(i):Name,1,10) cRSFValue := oRecordSet[nRecordSet]:Fields(i):Value replace &(cRSFName) with cRSFValue next commit oRecordSet[nRecordSet]:MoveNext() next dbGotop() msgstop(len(aRSFNames),aRSFNames[1],aRSFNames[5]) aRSData := CopyToArray( aRSFNames ) use endif return aRSData * *--------------------------------------------------------- Function ADOFieldCount() return oRecordSet[nRecordSet]:Fields:Count()-1 * *--------------------------------------------------------- function CopyToArray( PablkCampos, PblkFor, PBlkWhile ) local cNumCampos := len(PablkCampos) local aVetor := {} local Tx for Tx = 1 to cNumCampos aadd( aVetor, {} ) next PblkFor := iif( PblkFor=NIL , {||.t.}, PblkFor ) PBlkWhile := iif( PBlkWhile=NIL, {||.t.}, PBlkWhile ) do while !eof() .and. eval(PBlkWhile) if eval( PBlkFor ) Tx := 0 for Tx = 1 to cNumCampos aadd( aVetor[Tx], eval(PablkCampos[Tx]) ) next endif skip enddo return aVetor * *--------------------------------------------------------- Function ADOConnectRemote( StrDSN, StrServer ) PUBLIC aRecordSet, oRecordSet, nRecordSet, aIndexOrder, nIndexOrder, StrConnection, oADOConection, oADOErrDescription, oADOIndex, oADOCatalog aRecordSet := {} oRecordSet := Array(50) oADOIndex := Array(10) nRecordSet := 0 aIndexOrder := {} nIndexOrder := 1 StrConnection := StrDriver oADOConection := TOLEAUTO():New("RDS.DataControl") oADOConection:ExecuteOptions := adcExecAsync oADOConection:Connect := "DSN=" + StrDriver oADOConection:Server := StrServer oADOConection:Refresh() return .t. #endif _ADO_Harbour_ * *--------------------------------------------------------- Function ADOConnected() if !(valtype(oADOConection) = "O") return .f. // Nao foi definido o Objecto endif if valtype(oADOConection) = "L" return .f. // Se ja existe a variavel mas nao foi definida como Objeto endif cADOConectionState := oADOConection:State return iif( cADOConectionState=1, .t., .f. ) * *--------------------------------------------------------- Function ADOMsgAlert( cMsg ) Alert( cMsg ) return .t. * *--------------------------------------------------------- Function ADOSetDriver( StrDatabase, StrSenha, StrUsuario, StrServer, StrPort ) //public cADORDD := iif( cRDDName=NIL, "DBASE", cRDDName ) StrConnection := "" StrDriver := ADORDDDefault() if StrDriver = "DBASE" StrConnection := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+StrDatabase+";Extended Properties=dBASE IV;" endif if StrDriver = "ACCESS" // ADOMDB StrConnection := "Provider= MicroSoft.Jet.OLEDB.4.0;Data Source="+StrDatabase+";" endif if StrDriver = "FIREBIRD" // ADOGDB StrConnection := "DRIVER=Firebird/InterBase(r) driver; UID="+StrSenha+"; PWD="+StrUsuario+"; DBNAME="+StrDatabase endif if StrDriver = "MYSQL" // ADOMySQL StrConnection := "driver={MySQL ODBC 3.51 Driver};database=" + StrDatabase + ; ";server=" + StrServer + ; ";uid=" + StrUsuario + ; ";pwd=" + StrSenha + ; ";option=35" endif if StrDriver = "PARADOX" // ADOPX StrConnection := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+StrDatabase+";Extended Properties=Paradox 5.x;" endif if StrDriver = "SQL" StrConnection := "Provider=MSDASQL;Data Source=SQLExpress;User ID=Administrador;Password=konectiva;" endif if ADORDDDefault() == "XMLDB" // ADOXML StrConnection := "Provider=MSPersist" endif if ADORDDDefault() == "XML" // ADOXML StrConnection := "Provider=MSDAOSP;Data Source=MSXML2.DSOControl.2.6" endif if StrDriver = "XLS" // ADOXLS StrConnection := [Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\adoxls.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"] endif if StrDriver = "REMOTE" // ADORDS StrConnection := "Provider=MS Remote;Remote Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+StrDatabase+";Remote Server=" + StrServer endif return StrConnection * *--------------------------------------------------------- Function ADORDDDefault() if cADORDD = nil cADORDD := "DBF" endif return cADORDD * *--------------------------------------------------------- Function ADOFile( cFile ) if "XML" $ cADORDD .or. cADORDD = "XLS" return file( cFile ) else oADOCatalog := oADOConection:OpenSchema(adSchemaTables) do while .not. oADOCatalog:EOF() if upper(alltrim(oADOCatalog:Fields( "TABLE_NAME" ):Value)) = upper(alltrim(cFile)) return .t. endif oADOCatalog:MoveNext() enddo endif return .f. * *--------------------------------------------------------- Function ADOAlias() if nRecordSet < 1 return "" else return aRecordSet[nRecordSet] endif * *--------------------------------------------------------- Function ADOFCount() if nRecordSet < 1 return "" else return aRecordSet[nRecordSet]:Fields:Count() endif * *--------------------------------------------------------- Function ADOBEGINTRANSACTION() oADOConection:BeginTrans() return .t. * *--------------------------------------------------------- Function ADOCOMMITTRANSACTION() oADOConection:CommitTrans() return .t. * *--------------------------------------------------------- Function GetFieldType(FieldType) do Case Case FieldType = "C" return adVarWChar Case FieldType = "N" return adInteger Case FieldType = "M" return adText Case FieldType = "L" return adBoolean Case FieldType = "D" return adDate Endcase * *--------------------------------------------------------- Function ADOSetOrder( nIDXOrder ) oRecordSet[nRecordSet]:Index = oADOIndex[nIDXOrder]:Name return .t. * *--------------------------------------------------------- Function ADODISConnect() oADOConection:Close() oADOErrDescription:Close() oADOIndex:Close() oADOCatalog:Close() oADOConection:End() oADOErrDescription:End() oADOIndex:End() oADOCatalog:End() return .t. * *--------------------------------------------------------- Function ADOAppend() oRecordSet[nRecordSet]:AddNew() return .t. * *--------------------------------------------------------- Function ADOEdit() oRecordSet[nRecordSet]:Edit() return .t. * *--------------------------------------------------------- Function ADOCommit( lSave ) lSave := iif( lSave = nil, .f., lSave ) oRecordSet[nRecordSet]:Update() if lSave oRecordSet[nRecordSet]:Save( alltrim(aRecordSet[nRecordSet]), adPersistXML ) endif marca := oRecordSet[nRecordSet]:BookMark oRecordSet[nRecordSet]:Requery() oRecordSet[nRecordSet]:BookMark = marca return .t. * *--------------------------------------------------------- Function ADORequery() oRecordSet[nRecordSet]:Requery() return .t. * *--------------------------------------------------------- Function ADOReSync() oRecordSet[nRecordSet]:ReSync() return .t. * *--------------------------------------------------------- Function ADOUpdateBatch() oRecordSet[nRecordSet]:UpdateBatch() return .t. * *--------------------------------------------------------- Function ADOCommitAll() for i = 1 to len(aRecordSet) oRecordSet[nRecordSet]:Update() next return .t. * *--------------------------------------------------------- Function ADOSave( cfile, PersistFormat ) //default PersistFormat := adPersistXML oRecordSet[nRecordSet]:Save( cFile, 1 ) //PersistFormat ) return .t. * *--------------------------------------------------------- Function ADOConvert( cFile ) oADOConvert:SaveRS( cFile, oRecordSet[nRecordSet] ) return .t. * *--------------------------------------------------------- Function ADOReglock() //oRecordSet[nRecordSet]:CursorLocation := 2 //oRecordSet[nRecordSet]:CursorType := 0 //oRecordSet[nRecordSet]:LockType := 3 return .t. * *--------------------------------------------------------- Function ADOSkip( nSkip ) LOCAL nRec := oRecordSet[nRecordSet]:AbsolutePosition() oRecordSet[nRecordSet]:Move( iif( nSkip = nil, 1, nSkip ) ) IF oRecordSet[nRecordSet]:EOF(); oRecordSet[nRecordSet]:MoveLast() ; ENDIF IF oRecordSet[nRecordSet]:BOF(); oRecordSet[nRecordSet]:MoveFirst(); ENDIF return oRecordSet[nRecordSet]:AbsolutePosition() - nRec * *--------------------------------------------------------- Function ADODelete() oRecordSet[nRecordSet]:Delete() oRecordSet[nRecordSet]:Move( -1 ) if cADORDD == "XML" // ".XML" $ upper(aRecordSet[nRecordSet]) oRecordSet[nRecordSet]:Save( alltrim(aRecordSet[nRecordSet]), adPersistXML ) endif return .t. * *--------------------------------------------------------- Function ADOGoTo( nRec ) //oRecordSet[nRecordSet]:BookMark := nRec return .t. * *--------------------------------------------------------- Function ADOGoTop() if .not. ADOBof() if ADORecCount() > 0 oRecordSet[nRecordSet]:MoveFirst() endif endif return .t. * *--------------------------------------------------------- Function ADOGoBottom() if .not. ADOEof() if ADORecCount() > 0 oRecordSet[nRecordSet]:MoveLast() endif endif return .t. * *--------------------------------------------------------- Function ADOMoveNext() if .not. ADOEof() if ADORecCount() > 0 oRecordSet[nRecordSet]:MoveNext() endif endif return .t. * *--------------------------------------------------------- Function ADORecno() if nRecordSet < 0 return 0 else return oRecordSet[nRecordSet]:AbsolutePosition() endif * *--------------------------------------------------------- Function ADORecCount() if nRecordSet < 1 return 0 else nRecord := oRecordSet[nRecordSet]:AbsolutePosition() nRecord := iif(nRecord=nil,-1,nRecord) if nRecord < 1 //.or. .not. ( oRecordSet[nRecordSet]:EOF() = oRecordSet[nRecordSet]:BOF() ) return 0 else return oRecordSet[nRecordSet]:RecordCount() endif endif * *--------------------------------------------------------- Function ADOSetFilter( xpr ) if xpr = NIL oRecordSet[nRecordSet]:Filter := 0 else oRecordSet[nRecordSet]:Filter := xpr endif return .t. * *--------------------------------------------------------- Function ADODeleted( criterio ) if oRecordSet[nRecordSet]:Status = adRecDeleted return .t. endif return .f. * *--------------------------------------------------------- Function ADOClose() _RecordSet := len( aRecordSet ) ADEL( aRecordSet, nRecordSet ) ASIZE( aRecordSet, _RecordSet-1 ) oRecordSet[nRecordSet]:End() return .t. * *--------------------------------------------------------- Function ADOCloseAll() for i = 1 to len(aRecordSet) oRecordSet[nRecordSet]:End() next aRecordSet := {} nRecordSet := 0 return .t. * *--------------------------------------------------------- Function ADOExecute( cSql ) aADODefines := {} AADD( aADODefines, { "VOID(" , "0(" } ) AADD( aADODefines, { "BYTE(" , "1(" } ) AADD( aADODefines, { "CHAR(" , "2(" } ) AADD( aADODefines, { "WORD(" , "3(" } ) AADD( aADODefines, { "INT(" , "7(" } ) AADD( aADODefines, { "BOOLEAN(", "5(" } ) AADD( aADODefines, { "HDC(" , "6(" } ) AADD( aADODefines, { "LONG(" , "7(" } ) AADD( aADODefines, { "STRING(" , "8(" } ) AADD( aADODefines, { "LPSTR(" , "9(" } ) AADD( aADODefines, { "PTR(" ,"10(" } ) AADD( aADODefines, { "DOUBLE(" ,"11(" } ) AADD( aADODefines, { "DWORD(" ,"12(" } ) for i = 1 to len( aADODefines ) cSql := StrTran( cSql, aADODefines[i][2], aADODefines[i][1] ) next adolog( cSql ) oADOConection:Execute( cSql ) return .t. * *--------------------------------------------------------- Function ADOBOF() return iif( ADORecCount() > 0, oRecordSet[nRecordSet]:Bof, .t. ) * *--------------------------------------------------------- Function ADOEOF() return iif( ADORecCount() > 0, oRecordSet[nRecordSet]:Eof, .t. ) * *--------------------------------------------------------- Function ADOFOUND() return !oRecordSet[nRecordSet]:Eof * *--------------------------------------------------------- Function ADOFind( criterio ) ADOLocate( criterio ) return .t. * *--------------------------------------------------------- Function ADOLocate( criterio ) local _nBookMark := oRecordSet[nRecordSet]:Bookmark oRecordSet[nRecordSet]:MoveFirst() oRecordSet[nRecordSet]:Find( criterio ) if oRecordSet[nRecordSet]:Eof() oRecordSet[nRecordSet]:BookMark := _nBookmark return .f. else return .t. endif * *--------------------------------------------------------- Function ADOSort( cField, nModo ) if valtype(cField)='N' cField := oRecordSet[nRecordSet]:Fields( cStrField ):Name endi if cField = Nil Return upper(oRecordSet[nRecordSet]:Sort) else oRecordSet[nRecordSet]:Sort := cField + iif( nModo = NIL, " ASC", " DESC" ) oRecordSet[nRecordSet]:MoveFirst() endif return .t. * *--------------------------------------------------------- Function ADOFiles( cTable ) return iif(oRecordSet[nRecordSet]:Table(cTable)==cTable,.t.,.f.) * *--------------------------------------------------------- Function ADOAREAS() return nRecordSet * *--------------------------------------------------------- Function ADOSelect( cRecordSet ) if cRecordSet = nil else //oRecordSet[nRecordSet]:Close() if cADORDD = "XLS" cRecordSet := "[" + cRecordSet + "$]" endif nRecordSet := ASCAN( aRecordSet, cRecordSet ) nRecordSet := iif( nRecordSet = 0, 1, nRecordSet ) //oRecordSet[nRecordSet]:Open( "Select * from " + cRecordSet, StrConnection, 3, 3 ) endif //ADOGotop() return nRecordSet * *--------------------------------------------------------- Function ADOLOG( cMensagem ) local nHandle if .not. file( "ADOERRO.TXT" ) nHandle := fcreate("ADOERRO.TXT",0) else nHandle := fopen("ADOERRO.TXT",1) length := fseek(nHandle,0,2) fseek(nHandle,length) endif fwrite(nHandle, cMensagem + chr(13) + chr(10) ) fclose(nHandle) return NIL * *--------------------------------------------------------- Function ADOReplace( cCampo, xDado ) LOCAL uVal,xValor,nTipo,cType,nLong,cQuery,lRepassa := .f., lBlob := .f.,; StrFileName uVal := oRecordSet[nRecordSet]:Fields( cCampo ):Value nTipo := oRecordSet[nRecordSet]:Fields( cCampo ):Type cType := TypeDat(nTipo,cCampo) nLong := oRecordSet[nRecordSet]:Fields( cCampo ):DefinedSize if ! Empty( xDado ) if ValType( xDado ) = 'D' if nTipo= 7 .or. nTipo=133 .or. nTipo=135 if empty( xDado ) xDado := date() endif lRepassa := .t. endif endif if ValType( xDado ) = 'N' if nTipo=17 .or. nTipo= 14 .or. nTipo= 5 .or. nTipo= 3 .or. nTipo=131 .or. nTipo= 2 .or. nTipo= 6 .or. ; nTipo= 4 .or. nTipo=020 .or. nTipo=018 .or. nTipo=019 .or. nTipo= 21 .or. nTipo=138 .or. nTipo=139 lRepassa := .t. endif endif if ValType( xDado ) = 'C' if nTipo=202 .or. nTipo=130 .or. nTipo=200 .or. nTipo=201 .or. nTipo=129 .or. nTipo= 72 xDado := substr( xDado, 1, nLong ) lRepassa := .t. endif if nTipo=201 .or. nTipo=203 .or. nTipo=205 .or. nTipo=128 StrFileName := Alltrim(StrZero(ADORandom(99999999),8))+".APL" MemoWrit( StrFileName, xDado ) lRepassa := .t. lBlob := .t. endif endif if ValType( xDado ) = 'L' if nTipo= 11 .or. nTipo= 16 lRepassa := .t. endif endif if ValType( xDado ) = 'M' .or. ValType( xDado ) = 'I' if nTipo=201 .or. nTipo=203 .or. nTipo=205 .or. nTipo=128 lRepassa := .t. lBlob := .t. endif endif if lRepassa //if lBlob // adolog( ccampo+"-"+ctype+"-"+strzero(ntipo,3)+"-"+ValType( xDado ) ) // oADOStream:Type := 1 // adTypeBinary // oADOStream:Open() // oADOStream:LoadFromFile( StrFileName ) // oRecordSet[nRecordSet]:Fields( cCampo ):Value := oADOStream:Read() // oADOStream:Close() //else oRecordSet[nRecordSet]:Fields( cCampo ):Value := xDado //endif adolog( ccampo+"-"+ctype+"-"+strzero(ntipo,3)+"-"+ValType( xDado ) ) endif endif return .t. * *--------------------------------------------------------- Function ADOField( cStrField ) LOCAL uVal,nTipo,cType,nLong,xValor:=nil,StrFileName if valtype(cStrField)='C' cStrField := upper(alltrim(cStrField)) endif //?nRecordSet,oRecordSet[nRecordSet],cStrField:=lower(cStrField) if nRecordSet > 0 uVal := oRecordSet[nRecordSet]:Fields( cStrField ):Value nTipo := oRecordSet[nRecordSet]:Fields( cStrField ):Type cType := TypeDat(nTipo,cStrField) nLong := oRecordSet[nRecordSet]:Fields( cStrField ):DefinedSize //adolog( "Area: "+str(nRecordSet,2)+CRLF+; // "Campo: "+ cStrField+CRLF+; // "Tipo: "+ctype+CRLF+; // "Tipo(Num):"+strzero(ntipo,3)+CRLF+; // "Conteudo: "+iif(ctype="C",uVal,"------")+CRLF ) do case case cType='C'; xValor:=if(empty(uVal),spac(nLong),uVal+spac(nLong-len(uVal))) case cType='D'; xValor:=if(empty(uVal),ctod('') ,uVal) case cType='N'; xValor:=if(empty(uVal),0 ,uVal) case cType='L'; xValor:=if(empty(uVal),.f. ,uVal) case cType='M' .or. cType='I' StrFileName := Alltrim(StrZero(ADORandom(99999999),8))+".APL" oADOStream:Type := 1 // adTypeBinary oADOStream:Open() oADOStream:Write( oRecordSet[nRecordSet]:Fields( cStrField ) ) oADOStream:LoadFromFile( oRecordSet[nRecordSet]:Fields( StrFileName ), 2 ) // adSaveCreateOverWrite oADOStream:Close() xValor := MemoRead( StrFileName ) otherwise ; xValor:= uVal endcase endif RETURN xValor * *--------------------------------------------------------- Function ADOFieldBlank( cStrField ) LOCAL uVal,nTipo,cType,nLong,xValor:=nil if valtype(cStrField)='C' cStrField := upper(alltrim(cStrField)) endif if nRecordSet > 0 uVal := oRecordSet[nRecordSet]:Fields( cStrField ):Value nTipo := oRecordSet[nRecordSet]:Fields( cStrField ):Type cType := TypeDat(nTipo,cStrField) nLong := oRecordSet[nRecordSet]:Fields( cStrField ):DefinedSize do case case cType='C'; xValor:=space(nLong) case cType='D'; xValor:=ctod(' / / ') case cType='N'; xValor:=0 case cType='L'; xValor:=.f. otherwise ; xValor:='' endcase endif RETURN xValor * *--------------------------------------------------------- Function TypeDat(nTipo,cField) do case case nTipo=8.or.nTipo=12.or.nTipo=72.or.nTipo=129.or.nTipo=130.or.(nTipo>=200.and.nTipo<=203) // adBSTR 8 // adGUID 72 // adChar 129 // adWChar 130 // adVarChar 200 // adLongVarChar 201 // adVarWChar 202 // adLongVarWChar 203 return 'C' case nTipo= 17.or.nTipo= 16.or.nTipo= 14.or.nTipo= 5.or.nTipo= 3.or.nTipo=131.or.nTipo= 2 .or.nTipo= 6.or.; nTipo= 4.or.nTipo=020.or.nTipo=018.or.nTipo=019.or.nTipo= 21.or.nTipo=138.or.nTipo=139 // adSmallInt 2 // adInteger 3 // adSingle 4 // adDouble 5 // adCurrency 6 // adDecimal 14 // adTinyInt 16 // adUnsignedTinyInt 17 // adUnsignedSmallInt 18 // adUnsignedInt 19 // adBigInt 20 // adUnsignedBigInt 21 // adNumeric 131 // adPropVariant 138 // adVarNumeric 139 return 'N' // Numerico case nTipo= 7.or.nTipo=64.or.nTipo=133.or.nTipo=134.or.nTipo=135 // adDate 7 // adFileTime 64 // adDBDate 133 // adDBTime 134 // adDBTimeStamp 135 return 'D' // Data case nTipo= 11 // adBoolean 11 return 'L' // Logico case nTipo=128.or.nTipo=201.or.nTipo=203.or.nTipo=205 // adLongVarWChar 203 // adPropVariant 138 return 'M' // Memo case nTipo=128.or.nTipo=204.or.nTipo=205 // adBinary 128 // adVarBinary 204 // adLongVarBinary 205 return 'I' // Imagem otherwise alert('Tipo de dado invalido: Campo '+cField+' Type='+str(nTipo)) endcase return 'U' * *--------------------------------------------------------- Function isRSEmpty() return ((oRecordSet[nRecordSet]:BOF()=.t.) .and. (oRecordSet[nRecordSet]:EOF()=.t.)) * *--------------------------------------------------------- Function ADOGetSQL( sqlFileName ) sqlFileName = sqlFileName + ".SQL" if file(sqlFileName) cSql := MemoRead( sqlFileName ) oADOConection:Execute( cSql ) endif return nil * *--------------------------------------------------------- Function ADOUseRemote( cDatabase, lShared ) local oError if cDatabase = NIL oRecordSet[nRecordSet]:Close() else AADD( aRecordSet, cDatabase ) cRecordSet := cDatabase nRecordSet := len( aRecordSet ) oRecordSet[nRecordSet] := oADOConection if cADORDD == "XML" // ".XML" $ upper(cDatabase) oRecordSet[nRecordSet]:Open( cDatabase, StrConnection, 1, 3 ) else oRecordSet[nRecordSet]:CacheSize := 50 oRecordSet[nRecordSet]:CursorLocation := adUseClient if lShared = .t. oRecordSet[nRecordSet]:CursorType := 1 // adOpenKeySet oRecordSet[nRecordSet]:LockType := adLockBatchOptimistic else oRecordSet[nRecordSet]:CursorType := adOpenStatic oRecordSet[nRecordSet]:LockType := adLockPessimistic endif oRecordSet[nRecordSet]:Sql( "Select * from " + cDatabase, StrConnection ) endif oRecordSet[nRecordSet]:MoveFirst() endif return .t. function ADORandom( nMaximo ) static nRandom local nTemporal nMaximo = if( nMaximo == NIL, 65535, nMaximo ) if nRandom == NIL nRandom = seconds() endif nTemporal = ( nRandom * seconds() ) % ( nMaximo + 1 ) nRandom = nTemporal + seconds() RETURN int( nTemporal ) kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 13, 2016 Author Report Share Posted June 13, 2016 Rochinha, Compilando com xHarbour: adoxb.ch(52) Error E0017 Ambiguous match pattern in #translate/#command adoxb.ch(85) Warning W0001 Redefinition or duplicate definition of #define adLockReadOnly adoxb.ch(86) Warning W0001 Redefinition or duplicate definition of #define adLockPessimistic adoxb.ch(87) Warning W0001 Redefinition or duplicate definition of #define adLockOptimistic adoxb.ch(88) Warning W0001 Redefinition or duplicate definition of #define adLockBatchOptimistic FIREBIR3.prg(20) Warning W0001 Ambiguous reference: 'STRDATABASE' FIREBIR3.prg(21) Warning W0001 Ambiguous reference: 'STRDATABASE' FIREBIR3.prg(21) Warning W0001 Ambiguous reference: 'STRCONNECTION' FIREBIR3.prg(25) Warning W0001 Ambiguous reference: 'STRCONNECTION' FIREBIR3.prg(27) Warning W0001 Ambiguous reference: 'ORECORDSET' FIREBIR3.prg(27) Warning W0001 Ambiguous reference: 'ORS' FIREBIR3.prg(56) Warning W0001 Ambiguous reference: 'NREGISTROS' FIREBIR3.prg(58) Warning W0001 Ambiguous reference: 'NREGISTROS' FIREBIR3.prg(66) Warning W0001 Ambiguous reference: 'NREGISTROS' FIREBIR3.prg(68) Warning W0001 Ambiguous reference: 'NREGISTROS' FIREBIR3.prg(90) Warning W0001 Ambiguous reference: 'ORS' FIREBIR3.prg(99) Warning W0001 Ambiguous reference: 'ORS' FIREBIR3.prg(147) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(149) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(153) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(165) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(166) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(167) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(168) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(169) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(170) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(170) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(172) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(172) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(172) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(172) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(172) Warning W0001 Ambiguous reference: 'ODLG2' FIREBIR3.prg(192) Warning W0001 Ambiguous reference: 'OFONT' FIREBIR3.prg(193) Warning W0001 Ambiguous reference: 'OFONT' FIREBIR3.prg(200) Warning W0001 Ambiguous reference: 'CRITERIO' FIREBIR3.prg(219) Warning W0001 Ambiguous reference: 'OFONT' FIREBIR3.prg(220) Warning W0001 Ambiguous reference: 'OFONT' FIREBIR3.prg(254) Warning W0001 Ambiguous reference: 'OFONT' FIREBIR3.prg(255) Warning W0001 Ambiguous reference: 'OFONT' adoxb.ch(52) Error E0017 Ambiguous match pattern in #translate/#command adoxb.ch(67) Warning W0001 Redefinition or duplicate definition of #define adLockReadOnly adoxb.ch(68) Warning W0001 Redefinition or duplicate definition of #define adLockPessimistic adoxb.ch(69) Warning W0001 Redefinition or duplicate definition of #define adLockOptimistic adoxb.ch(70) Warning W0001 Redefinition or duplicate definition of #define adLockBatchOptimistic adoxb.ch(73) Warning W0001 Redefinition or duplicate definition of #define adIndexNullsAllow adoxb.ch(74) Warning W0001 Redefinition or duplicate definition of #define adIndexNullsDisallow adoxb.ch(75) Warning W0001 Redefinition or duplicate definition of #define adIndexNullsIgnore adoxb.ch(76) Warning W0001 Redefinition or duplicate definition of #define adIndexNullsIgnoreAny adoxb.ch(79) Warning W0001 Redefinition or duplicate definition of #define adOpenForwardOnly adoxb.ch(80) Warning W0001 Redefinition or duplicate definition of #define adOpenKeyset adoxb.ch(81) Warning W0001 Redefinition or duplicate definition of #define adOpenDynamic adoxb.ch(82) Warning W0001 Redefinition or duplicate definition of #define adOpenStatic adoxb.ch(85) Warning W0001 Redefinition or duplicate definition of #define adLockReadOnly adoxb.ch(86) Warning W0001 Redefinition or duplicate definition of #define adLockPessimistic adoxb.ch(87) Warning W0001 Redefinition or duplicate definition of #define adLockOptimistic adoxb.ch(88) Warning W0001 Redefinition or duplicate definition of #define adLockBatchOptimistic adoxb.ch(91) Warning W0001 Redefinition or duplicate definition of #define adUseServer adoxb.ch(92) Warning W0001 Redefinition or duplicate definition of #define adUseClient adoxb.ch(95) Warning W0001 Redefinition or duplicate definition of #define adEmpty adoxb.ch(96) Warning W0001 Redefinition or duplicate definition of #define adTinyInt adoxb.ch(97) Warning W0001 Redefinition or duplicate definition of #define adSmallInt adoxb.ch(98) Warning W0001 Redefinition or duplicate definition of #define adInteger adoxb.ch(99) Warning W0001 Redefinition or duplicate definition of #define adBigInt adoxb.ch(100) Warning W0001 Redefinition or duplicate definition of #define adUnsignedTinyInt adoxb.ch(101) Warning W0001 Redefinition or duplicate definition of #define adUnsignedSmallInt adoxb.ch(102) Warning W0001 Redefinition or duplicate definition of #define adUnsignedInt adoxb.ch(103) Warning W0001 Redefinition or duplicate definition of #define adUnsignedBigInt adoxb.ch(104) Warning W0001 Redefinition or duplicate definition of #define adSingle adoxb.ch(105) Warning W0001 Redefinition or duplicate definition of #define adDouble adoxb.ch(106) Warning W0001 Redefinition or duplicate definition of #define adCurrency adoxb.ch(108) Warning W0001 Redefinition or duplicate definition of #define adDecimal adoxb.ch(109) Warning W0001 Redefinition or duplicate definition of #define adNumeric adoxb.ch(110) Warning W0001 Redefinition or duplicate definition of #define adBoolean adoxb.ch(111) Warning W0001 Redefinition or duplicate definition of #define adError adoxb.ch(112) Warning W0001 Redefinition or duplicate definition of #define adUserDefined adoxb.ch(113) Warning W0001 Redefinition or duplicate definition of #define adVariant adoxb.ch(114) Warning W0001 Redefinition or duplicate definition of #define adIDispatch adoxb.ch(115) Warning W0001 Redefinition or duplicate definition of #define adIUnknown adoxb.ch(116) Warning W0001 Redefinition or duplicate definition of #define adGUID adoxb.ch(117) Warning W0001 Redefinition or duplicate definition of #define adDate adoxb.ch(118) Warning W0001 Redefinition or duplicate definition of #define adDBDate adoxb.ch(119) Warning W0001 Redefinition or duplicate definition of #define adDBTime adoxb.ch(120) Warning W0001 Redefinition or duplicate definition of #define adDBTimeStamp adoxb.ch(121) Warning W0001 Redefinition or duplicate definition of #define adBSTR adoxb.ch(122) Warning W0001 Redefinition or duplicate definition of #define adChar adoxb.ch(123) Warning W0001 Redefinition or duplicate definition of #define adVarChar adoxb.ch(124) Warning W0001 Redefinition or duplicate definition of #define adLongVarChar adoxb.ch(125) Warning W0001 Redefinition or duplicate definition of #define adWChar adoxb.ch(126) Warning W0001 Redefinition or duplicate definition of #define adVarWChar adoxb.ch(127) Warning W0001 Redefinition or duplicate definition of #define adLongVarWChar adoxb.ch(128) Warning W0001 Redefinition or duplicate definition of #define adBinary adoxb.ch(129) Warning W0001 Redefinition or duplicate definition of #define adVarBinary adoxb.ch(130) Warning W0001 Redefinition or duplicate definition of #define adLongVarBinary adoxb.ch(131) Warning W0001 Redefinition or duplicate definition of #define adChapter adoxb.ch(132) Warning W0001 Redefinition or duplicate definition of #define adFileTime adoxb.ch(133) Warning W0001 Redefinition or duplicate definition of #define adPropVariant adoxb.ch(134) Warning W0001 Redefinition or duplicate definition of #define adVarNumeric adoxb.ch(135) Warning W0001 Redefinition or duplicate definition of #define adArray adoxb.ch(138) Warning W0001 Redefinition or duplicate definition of #define adGetRowsRest adoxb.ch(141) Warning W0001 Redefinition or duplicate definition of #define adPosUnknown adoxb.ch(142) Warning W0001 Redefinition or duplicate definition of #define adPosBOF adoxb.ch(143) Warning W0001 Redefinition or duplicate definition of #define adPosEOF adoxb.ch(146) Warning W0001 Redefinition or duplicate definition of #define adBookmarkCurrent adoxb.ch(147) Warning W0001 Redefinition or duplicate definition of #define adBookmarkFirst adoxb.ch(148) Warning W0001 Redefinition or duplicate definition of #define adBookmarkLast adoxb.ch(151) Warning W0001 Redefinition or duplicate definition of #define adMarshalAll adoxb.ch(152) Warning W0001 Redefinition or duplicate definition of #define adMarshalModifiedOnly adoxb.ch(155) Warning W0001 Redefinition or duplicate definition of #define adAffectCurrent adoxb.ch(156) Warning W0001 Redefinition or duplicate definition of #define adAffectGroup adoxb.ch(157) Warning W0001 Redefinition or duplicate definition of #define adAffectAllChapters adoxb.ch(160) Warning W0001 Redefinition or duplicate definition of #define adResyncUnderlyingValues adoxb.ch(161) Warning W0001 Redefinition or duplicate definition of #define adResyncAllValues adoxb.ch(164) Warning W0001 Redefinition or duplicate definition of #define adCompareLessThan adoxb.ch(165) Warning W0001 Redefinition or duplicate definition of #define adCompareEqual adoxb.ch(166) Warning W0001 Redefinition or duplicate definition of #define adCompareGreaterThan adoxb.ch(167) Warning W0001 Redefinition or duplicate definition of #define adCompareNotEqual adoxb.ch(168) Warning W0001 Redefinition or duplicate definition of #define adCompareNotComparable adoxb.ch(171) Warning W0001 Redefinition or duplicate definition of #define adFilterNone adoxb.ch(172) Warning W0001 Redefinition or duplicate definition of #define adFilterPendingRecords adoxb.ch(173) Warning W0001 Redefinition or duplicate definition of #define adFilterAffectedRecords adoxb.ch(174) Warning W0001 Redefinition or duplicate definition of #define adFilterFetchedRecords adoxb.ch(175) Warning W0001 Redefinition or duplicate definition of #define adFilterConflictingRecords adoxb.ch(178) Warning W0001 Redefinition or duplicate definition of #define adSearchForward adoxb.ch(179) Warning W0001 Redefinition or duplicate definition of #define adSearchBackward adoxb.ch(182) Warning W0001 Redefinition or duplicate definition of #define adPersistADTG adoxb.ch(183) Warning W0001 Redefinition or duplicate definition of #define adPersistXML adoxb.ch(186) Warning W0001 Redefinition or duplicate definition of #define adClipString adoxb.ch(189) Warning W0001 Redefinition or duplicate definition of #define adPromptAlways adoxb.ch(190) Warning W0001 Redefinition or duplicate definition of #define adPromptComplete adoxb.ch(191) Warning W0001 Redefinition or duplicate definition of #define adPromptCompleteRequired adoxb.ch(192) Warning W0001 Redefinition or duplicate definition of #define adPromptNever adoxb.ch(195) Warning W0001 Redefinition or duplicate definition of #define adModeUnknown adoxb.ch(196) Warning W0001 Redefinition or duplicate definition of #define adModeRead adoxb.ch(197) Warning W0001 Redefinition or duplicate definition of #define adModeWrite adoxb.ch(198) Warning W0001 Redefinition or duplicate definition of #define adModeReadWrite adoxb.ch(199) Warning W0001 Redefinition or duplicate definition of #define adModeShareDenyRead adoxb.ch(200) Warning W0001 Redefinition or duplicate definition of #define adModeShareDenyWrite adoxb.ch(201) Warning W0001 Redefinition or duplicate definition of #define adModeShareExclusive adoxb.ch(202) Warning W0001 Redefinition or duplicate definition of #define adModeShareDenyNone adoxb.ch(205) Warning W0001 Redefinition or duplicate definition of #define adRsnAddNew adoxb.ch(206) Warning W0001 Redefinition or duplicate definition of #define adRsnDelete adoxb.ch(207) Warning W0001 Redefinition or duplicate definition of #define adRsnUpdate adoxb.ch(208) Warning W0001 Redefinition or duplicate definition of #define adRsnUndoUpdate adoxb.ch(209) Warning W0001 Redefinition or duplicate definition of #define adRsnUndoAddNew adoxb.ch(210) Warning W0001 Redefinition or duplicate definition of #define adRsnUndoDelete adoxb.ch(211) Warning W0001 Redefinition or duplicate definition of #define adRsnRequery adoxb.ch(212) Warning W0001 Redefinition or duplicate definition of #define adRsnResynch adoxb.ch(213) Warning W0001 Redefinition or duplicate definition of #define adRsnClose adoxb.ch(214) Warning W0001 Redefinition or duplicate definition of #define adRsnMove adoxb.ch(215) Warning W0001 Redefinition or duplicate definition of #define adRsnFirstChange adoxb.ch(216) Warning W0001 Redefinition or duplicate definition of #define adRsnMoveFirst adoxb.ch(217) Warning W0001 Redefinition or duplicate definition of #define adRsnMoveNext adoxb.ch(218) Warning W0001 Redefinition or duplicate definition of #define adRsnMovePrevious adoxb.ch(219) Warning W0001 Redefinition or duplicate definition of #define adRsnMoveLast adoxb.ch(222) Warning W0001 Redefinition or duplicate definition of #define adSchemaProviderSpecific adoxb.ch(223) Warning W0001 Redefinition or duplicate definition of #define adSchemaAsserts adoxb.ch(224) Warning W0001 Redefinition or duplicate definition of #define adSchemaCatalogs adoxb.ch(225) Warning W0001 Redefinition or duplicate definition of #define adSchemaCharacterSets adoxb.ch(226) Warning W0001 Redefinition or duplicate definition of #define adSchemaCollations adoxb.ch(227) Warning W0001 Redefinition or duplicate definition of #define adSchemaColumns adoxb.ch(228) Warning W0001 Redefinition or duplicate definition of #define adSchemaCheckConstraints adoxb.ch(229) Warning W0001 Redefinition or duplicate definition of #define adSchemaConstraintColumnUsage adoxb.ch(230) Warning W0001 Redefinition or duplicate definition of #define adSchemaConstraintTableUsage adoxb.ch(231) Warning W0001 Redefinition or duplicate definition of #define adSchemaKeyColumnUsage adoxb.ch(232) Warning W0001 Redefinition or duplicate definition of #define adSchemaReferentialConstraints adoxb.ch(233) Warning W0001 Redefinition or duplicate definition of #define adSchemaTableConstraints adoxb.ch(234) Warning W0001 Redefinition or duplicate definition of #define adSchemaColumnsDomainUsage adoxb.ch(235) Warning W0001 Redefinition or duplicate definition of #define adSchemaIndexes adoxb.ch(236) Warning W0001 Redefinition or duplicate definition of #define adSchemaColumnPrivileges adoxb.ch(237) Warning W0001 Redefinition or duplicate definition of #define adSchemaTablePrivileges adoxb.ch(238) Warning W0001 Redefinition or duplicate definition of #define adSchemaUsagePrivileges adoxb.ch(239) Warning W0001 Redefinition or duplicate definition of #define adSchemaProcedures adoxb.ch(240) Warning W0001 Redefinition or duplicate definition of #define adSchemaSchemata adoxb.ch(241) Warning W0001 Redefinition or duplicate definition of #define adSchemaSQLLanguages adoxb.ch(242) Warning W0001 Redefinition or duplicate definition of #define adSchemaStatistics adoxb.ch(243) Warning W0001 Redefinition or duplicate definition of #define adSchemaTables adoxb.ch(244) Warning W0001 Redefinition or duplicate definition of #define adSchemaTranslations adoxb.ch(245) Warning W0001 Redefinition or duplicate definition of #define adSchemaProviderTypes adoxb.ch(246) Warning W0001 Redefinition or duplicate definition of #define adSchemaViews adoxb.ch(247) Warning W0001 Redefinition or duplicate definition of #define adSchemaViewColumnUsage adoxb.ch(248) Warning W0001 Redefinition or duplicate definition of #define adSchemaViewTableUsage adoxb.ch(249) Warning W0001 Redefinition or duplicate definition of #define adSchemaProcedureParameters adoxb.ch(250) Warning W0001 Redefinition or duplicate definition of #define adSchemaForeignKeys adoxb.ch(251) Warning W0001 Redefinition or duplicate definition of #define adSchemaPrimaryKeys adoxb.ch(252) Warning W0001 Redefinition or duplicate definition of #define adSchemaProcedureColumns adoxb.ch(253) Warning W0001 Redefinition or duplicate definition of #define adSchemaDBInfoKeywords adoxb.ch(254) Warning W0001 Redefinition or duplicate definition of #define adSchemaDBInfoLiterals adoxb.ch(255) Warning W0001 Redefinition or duplicate definition of #define adSchemaCubes adoxb.ch(256) Warning W0001 Redefinition or duplicate definition of #define adSchemaDimensions adoxb.ch(257) Warning W0001 Redefinition or duplicate definition of #define adSchemaHierarchies adoxb.ch(258) Warning W0001 Redefinition or duplicate definition of #define adSchemaLevels adoxb.ch(259) Warning W0001 Redefinition or duplicate definition of #define adSchemaMeasures adoxb.ch(260) Warning W0001 Redefinition or duplicate definition of #define adSchemaProperties adoxb.ch(261) Warning W0001 Redefinition or duplicate definition of #define adSchemaMembers adoxb.ch(262) Warning W0001 Redefinition or duplicate definition of #define adSchemaTrustees adoxb.ch(265) Warning W0001 Redefinition or duplicate definition of #define adFieldOK adoxb.ch(266) Warning W0001 Redefinition or duplicate definition of #define adFieldCantConvertValue adoxb.ch(267) Warning W0001 Redefinition or duplicate definition of #define adFieldIsNull adoxb.ch(268) Warning W0001 Redefinition or duplicate definition of #define adFieldTruncated adoxb.ch(269) Warning W0001 Redefinition or duplicate definition of #define adFieldSignMismatch adoxb.ch(270) Warning W0001 Redefinition or duplicate definition of #define adFieldDataOverflow adoxb.ch(271) Warning W0001 Redefinition or duplicate definition of #define adFieldCantCreate adoxb.ch(272) Warning W0001 Redefinition or duplicate definition of #define adFieldUnavailable adoxb.ch(273) Warning W0001 Redefinition or duplicate definition of #define adFieldPermissionDenied adoxb.ch(274) Warning W0001 Redefinition or duplicate definition of #define adFieldIntegrityViolation adoxb.ch(275) Warning W0001 Redefinition or duplicate definition of #define adFieldSchemaViolation adoxb.ch(276) Warning W0001 Redefinition or duplicate definition of #define adFieldBadStatus adoxb.ch(277) Warning W0001 Redefinition or duplicate definition of #define adFieldDefault adoxb.ch(278) Warning W0001 Redefinition or duplicate definition of #define adFieldIgnore adoxb.ch(279) Warning W0001 Redefinition or duplicate definition of #define adFieldDoesNotExist adoxb.ch(280) Warning W0001 Redefinition or duplicate definition of #define adFieldInvalidURL adoxb.ch(281) Warning W0001 Redefinition or duplicate definition of #define adFieldResourceLocked adoxb.ch(282) Warning W0001 Redefinition or duplicate definition of #define adFieldResourceExists adoxb.ch(283) Warning W0001 Redefinition or duplicate definition of #define adFieldCannotComplete adoxb.ch(284) Warning W0001 Redefinition or duplicate definition of #define adFieldVolumeNotFound adoxb.ch(285) Warning W0001 Redefinition or duplicate definition of #define adFieldOutOfSpace adoxb.ch(286) Warning W0001 Redefinition or duplicate definition of #define adFieldCannotDeleteSource adoxb.ch(287) Warning W0001 Redefinition or duplicate definition of #define adFieldReadOnly adoxb.ch(288) Warning W0001 Redefinition or duplicate definition of #define adFieldResourceOutOfScope adoxb.ch(289) Warning W0001 Redefinition or duplicate definition of #define adFieldAlreadyExists adoxb.ch(290) Warning W0001 Redefinition or duplicate definition of #define adFieldPendingInsert adoxb.ch(291) Warning W0001 Redefinition or duplicate definition of #define adFieldPendingDelete adoxb.ch(292) Warning W0001 Redefinition or duplicate definition of #define adFieldPendingChange adoxb.ch(293) Warning W0001 Redefinition or duplicate definition of #define adFieldPendingUnknown adoxb.ch(294) Warning W0001 Redefinition or duplicate definition of #define adFieldPendingUnknownDelete adoxb.ch(297) Warning W0001 Redefinition or duplicate definition of #define adSeekFirstEQ adoxb.ch(298) Warning W0001 Redefinition or duplicate definition of #define adSeekLastEQ adoxb.ch(299) Warning W0001 Redefinition or duplicate definition of #define adSeekAfterEQ adoxb.ch(300) Warning W0001 Redefinition or duplicate definition of #define adSeekAfter adoxb.ch(301) Warning W0001 Redefinition or duplicate definition of #define adSeekBeforeEQ adoxb.ch(302) Warning W0001 Redefinition or duplicate definition of #define adSeekBefore adoxb.ch(305) Warning W0001 Redefinition or duplicate definition of #define adCriteriaKey adoxb.ch(306) Warning W0001 Redefinition or duplicate definition of #define adCriteriaAllCols adoxb.ch(307) Warning W0001 Redefinition or duplicate definition of #define adCriteriaUpdCols adoxb.ch(308) Warning W0001 Redefinition or duplicate definition of #define adCriteriaTimeStamp adoxb.ch(311) Warning W0001 Redefinition or duplicate definition of #define adPriorityLowest adoxb.ch(312) Warning W0001 Redefinition or duplicate definition of #define adPriorityBelowNormal adoxb.ch(313) Warning W0001 Redefinition or duplicate definition of #define adPriorityNormal adoxb.ch(314) Warning W0001 Redefinition or duplicate definition of #define adPriorityAboveNormal adoxb.ch(315) Warning W0001 Redefinition or duplicate definition of #define adPriorityHighest adoxb.ch(318) Warning W0001 Redefinition or duplicate definition of #define adRecalcUpFront adoxb.ch(319) Warning W0001 Redefinition or duplicate definition of #define adRecalcAlways adoxb.ch(326) Warning W0001 Redefinition or duplicate definition of #define adMoveUnspecified adoxb.ch(327) Warning W0001 Redefinition or duplicate definition of #define adMoveOverWrite adoxb.ch(328) Warning W0001 Redefinition or duplicate definition of #define adMoveDontUpdateLinks adoxb.ch(329) Warning W0001 Redefinition or duplicate definition of #define adMoveAllowEmulation adoxb.ch(332) Warning W0001 Redefinition or duplicate definition of #define adCopyUnspecified adoxb.ch(333) Warning W0001 Redefinition or duplicate definition of #define adCopyOverWrite adoxb.ch(334) Warning W0001 Redefinition or duplicate definition of #define adCopyAllowEmulation adoxb.ch(335) Warning W0001 Redefinition or duplicate definition of #define adCopyNonRecursive adoxb.ch(338) Warning W0001 Redefinition or duplicate definition of #define adTypeBinary adoxb.ch(339) Warning W0001 Redefinition or duplicate definition of #define adTypeText adoxb.ch(342) Warning W0001 Redefinition or duplicate definition of #define adLF adoxb.ch(343) Warning W0001 Redefinition or duplicate definition of #define adCR adoxb.ch(344) Warning W0001 Redefinition or duplicate definition of #define adCRLF adoxb.ch(347) Warning W0001 Redefinition or duplicate definition of #define adOpenStreamUnspecified adoxb.ch(348) Warning W0001 Redefinition or duplicate definition of #define adOpenStreamAsync adoxb.ch(349) Warning W0001 Redefinition or duplicate definition of #define adOpenStreamFromRecord adoxb.ch(352) Warning W0001 Redefinition or duplicate definition of #define adWriteChar adoxb.ch(353) Warning W0001 Redefinition or duplicate definition of #define adWriteLine adoxb.ch(356) Warning W0001 Redefinition or duplicate definition of #define adSaveCreateNotExist adoxb.ch(357) Warning W0001 Redefinition or duplicate definition of #define adSaveCreateOverWrite adoxb.ch(360) Warning W0001 Redefinition or duplicate definition of #define adDefaultStream adoxb.ch(361) Warning W0001 Redefinition or duplicate definition of #define adRecordURL adoxb.ch(364) Warning W0001 Redefinition or duplicate definition of #define adReadAll adoxb.ch(365) Warning W0001 Redefinition or duplicate definition of #define adReadLine adoxb.ch(368) Warning W0001 Redefinition or duplicate definition of #define adSimpleRecord adoxb.ch(369) Warning W0001 Redefinition or duplicate definition of #define adCollectionRecord adoxb.ch(370) Warning W0001 Redefinition or duplicate definition of #define adStructDoc adoxb.prg(36) Warning W0001 Ambiguous reference: 'NCONNECTION' adoxb.prg(37) Warning W0001 Ambiguous reference: 'AADOCONECTION' adoxb.prg(38) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(39) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(40) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(47) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(48) Warning W0001 Ambiguous reference: 'ORECORDSET' adoxb.prg(49) Warning W0001 Ambiguous reference: 'OADOINDEX' adoxb.prg(50) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(51) Warning W0001 Ambiguous reference: 'AINDEXORDER' adoxb.prg(52) Warning W0001 Ambiguous reference: 'NINDEXORDER' adoxb.prg(53) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(54) Warning W0001 Ambiguous reference: 'AADOCONECTION' adoxb.prg(55) Warning W0001 Ambiguous reference: 'AADOCONECTION' adoxb.prg(55) Warning W0001 Ambiguous reference: 'NCONNECTION' adoxb.prg(56) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(57) Warning W0001 Ambiguous reference: 'OADOSTREAM' adoxb.prg(58) Warning W0001 Ambiguous reference: 'OADOERRDESCRIPTION' adoxb.prg(59) Warning W0001 Ambiguous reference: 'OADOINDEX' adoxb.prg(60) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(61) Warning W0001 Ambiguous reference: 'OADOCONVERT' adoxb.prg(62) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(63) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(64) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(65) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(70) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(70) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(78) Warning W0001 Ambiguous reference: 'OADOCREATECATALOG' adoxb.prg(79) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(80) Warning W0001 Ambiguous reference: 'OADOCREATECATALOG' adoxb.prg(80) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(81) Warning W0001 Ambiguous reference: 'OADOCREATECATALOG' adoxb.prg(90) Warning W0001 Ambiguous reference: 'I' adoxb.prg(90) Warning W0001 Ambiguous reference: 'I' adoxb.prg(91) Warning W0001 Ambiguous reference: 'I' adoxb.prg(91) Warning W0001 Ambiguous reference: 'CNAME' adoxb.prg(92) Warning W0001 Ambiguous reference: 'I' adoxb.prg(92) Warning W0001 Ambiguous reference: 'CTYPE' adoxb.prg(93) Warning W0001 Ambiguous reference: 'I' adoxb.prg(93) Warning W0001 Ambiguous reference: 'NLEN' adoxb.prg(94) Warning W0001 Ambiguous reference: 'I' adoxb.prg(94) Warning W0001 Ambiguous reference: 'NDEC' adoxb.prg(96) Warning W0001 Ambiguous reference: 'CTYPE' adoxb.prg(97) Warning W0001 Ambiguous reference: 'CNAME' adoxb.prg(97) Warning W0001 Ambiguous reference: 'NLEN' adoxb.prg(98) Warning W0001 Ambiguous reference: 'CTYPE' adoxb.prg(99) Warning W0001 Ambiguous reference: 'CNAME' adoxb.prg(100) Warning W0001 Ambiguous reference: 'CTYPE' adoxb.prg(101) Warning W0001 Ambiguous reference: 'CNAME' adoxb.prg(102) Warning W0001 Ambiguous reference: 'CTYPE' adoxb.prg(103) Warning W0001 Ambiguous reference: 'CNAME' adoxb.prg(104) Warning W0001 Ambiguous reference: 'CTYPE' adoxb.prg(105) Warning W0001 Ambiguous reference: 'NDEC' adoxb.prg(106) Warning W0001 Ambiguous reference: 'CNAME' adoxb.prg(106) Warning W0001 Ambiguous reference: 'NLEN' adoxb.prg(108) Warning W0001 Ambiguous reference: 'CNAME' adoxb.prg(108) Warning W0001 Ambiguous reference: 'NLEN' adoxb.prg(108) Warning W0001 Ambiguous reference: 'NDEC' adoxb.prg(111) Warning W0001 Ambiguous reference: 'I' adoxb.prg(111) Warning W0001 Ambiguous reference: 'I' adoxb.prg(112) Warning W0001 Ambiguous reference: 'CR' adoxb.prg(142) Warning W0007 Function 'ADOCREATE' does not end with RETURN statement adoxb.prg(147) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(147) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(151) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(153) Warning W0001 Ambiguous reference: 'AINDEXORDER' adoxb.prg(154) Warning W0001 Ambiguous reference: 'AINDEXORDER' adoxb.prg(154) Warning W0001 Ambiguous reference: 'NINDEXORDER' adoxb.prg(155) Warning W0001 Ambiguous reference: 'OADOINDEX' adoxb.prg(155) Warning W0001 Ambiguous reference: 'NINDEXORDER' adoxb.prg(156) Warning W0002 Ambiguous reference, assuming memvar: 'OADOINDEX' adoxb.prg(156) Warning W0001 Ambiguous reference: 'NINDEXORDER' adoxb.prg(157) Warning W0002 Ambiguous reference, assuming memvar: 'OADOINDEX' adoxb.prg(157) Warning W0001 Ambiguous reference: 'NINDEXORDER' adoxb.prg(158) Warning W0002 Ambiguous reference, assuming memvar: 'OADOINDEX' adoxb.prg(158) Warning W0001 Ambiguous reference: 'NINDEXORDER' adoxb.prg(161) Warning W0002 Ambiguous reference, assuming memvar: 'OADOINDEX' adoxb.prg(161) Warning W0001 Ambiguous reference: 'NINDEXORDER' adoxb.prg(164) Warning W0001 Ambiguous reference: 'OADOINDEX' adoxb.prg(165) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(176) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(179) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(183) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(183) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(184) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(184) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(186) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(187) Warning W0001 Ambiguous reference: 'CRECORDSET' adoxb.prg(188) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(188) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(189) Warning W0001 Ambiguous reference: 'ORECORDSET' adoxb.prg(189) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(189) Warning W0001 Ambiguous reference: 'ORS' adoxb.prg(190) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(191) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(191) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(191) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(193) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(193) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(194) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(194) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(196) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(196) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(197) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(197) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(199) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(199) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(200) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(200) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(202) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(202) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(202) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(221) Warning W0001 Ambiguous reference: 'ORECORDSET' adoxb.prg(228) Warning W0002 Ambiguous reference, assuming memvar: 'ARECORDSET' adoxb.prg(228) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(228) Warning W0001 Ambiguous reference: 'CADOTMPCONECTION' adoxb.prg(229) Warning W0001 Ambiguous reference: 'ARSDATA' adoxb.prg(229) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(229) Warning W0001 Ambiguous reference: 'ARSFNAMES' adoxb.prg(230) Warning W0001 Ambiguous reference: 'NRSRCOUNT' adoxb.prg(231) Warning W0001 Ambiguous reference: 'NRSFCOUNT' adoxb.prg(232) Warning W0001 Ambiguous reference: 'I' adoxb.prg(232) Warning W0001 Ambiguous reference: 'I' adoxb.prg(232) Warning W0001 Ambiguous reference: 'NRSFCOUNT' adoxb.prg(233) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(233) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(233) Warning W0001 Ambiguous reference: 'I' adoxb.prg(233) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(234) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(234) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(234) Warning W0001 Ambiguous reference: 'I' adoxb.prg(234) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(234) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(235) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(235) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(235) Warning W0001 Ambiguous reference: 'I' adoxb.prg(235) Warning W0001 Ambiguous reference: 'NRSFLONG' adoxb.prg(236) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(236) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(236) Warning W0001 Ambiguous reference: 'I' adoxb.prg(236) Warning W0001 Ambiguous reference: 'NRSFDECM' adoxb.prg(237) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(238) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(238) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(238) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(238) Warning W0001 Ambiguous reference: 'NRSFLONG' adoxb.prg(238) Warning W0001 Ambiguous reference: 'NRSFDECM' adoxb.prg(239) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(240) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(240) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(240) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(240) Warning W0001 Ambiguous reference: 'NRSFLONG' adoxb.prg(240) Warning W0001 Ambiguous reference: 'NRSFDECM' adoxb.prg(241) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(242) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(242) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(242) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(242) Warning W0001 Ambiguous reference: 'NRSFLONG' adoxb.prg(242) Warning W0001 Ambiguous reference: 'NRSFDECM' adoxb.prg(243) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(244) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(244) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(244) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(244) Warning W0001 Ambiguous reference: 'NRSFLONG' adoxb.prg(244) Warning W0001 Ambiguous reference: 'NRSFDECM' adoxb.prg(246) Warning W0001 Ambiguous reference: 'I' adoxb.prg(246) Warning W0001 Ambiguous reference: 'I' adoxb.prg(248) Warning W0001 Ambiguous reference: 'CADOTMPCONECTION' adoxb.prg(248) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(249) Warning W0001 Ambiguous reference: 'ADBFNAMES' adoxb.prg(251) Warning W0001 Ambiguous reference: 'I' adoxb.prg(251) Warning W0001 Ambiguous reference: 'I' adoxb.prg(251) Warning W0001 Ambiguous reference: 'ADBFNAMES' adoxb.prg(252) Warning W0001 Ambiguous reference: 'ARSFNAMES' adoxb.prg(252) Warning W0002 Ambiguous reference, assuming memvar: 'ADBFNAMES' adoxb.prg(252) Warning W0001 Ambiguous reference: 'I' adoxb.prg(253) Warning W0001 Ambiguous reference: 'I' adoxb.prg(253) Warning W0001 Ambiguous reference: 'I' adoxb.prg(255) Warning W0001 Ambiguous reference: 'CADOTMPCONECTION' adoxb.prg(256) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(256) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(257) Warning W0001 Ambiguous reference: 'CADOTMPCONECTION' adoxb.prg(257) Warning W0002 Ambiguous reference, assuming memvar: 'ARECORDSET' adoxb.prg(257) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(258) Warning W0001 Ambiguous reference: 'II' adoxb.prg(258) Warning W0001 Ambiguous reference: 'II' adoxb.prg(258) Warning W0001 Ambiguous reference: 'NRSRCOUNT' adoxb.prg(260) Warning W0001 Ambiguous reference: 'I' adoxb.prg(260) Warning W0001 Ambiguous reference: 'I' adoxb.prg(260) Warning W0001 Ambiguous reference: 'NRSFCOUNT' adoxb.prg(264) Warning W0001 Ambiguous reference: 'I' adoxb.prg(264) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(264) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(264) Warning W0001 Ambiguous reference: 'I' adoxb.prg(265) Warning W0001 Ambiguous reference: 'I' adoxb.prg(265) Warning W0001 Ambiguous reference: 'I' adoxb.prg(267) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(267) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(268) Warning W0001 Ambiguous reference: 'II' adoxb.prg(268) Warning W0001 Ambiguous reference: 'II' adoxb.prg(274) Warning W0001 Ambiguous reference: 'ARSDATA' adoxb.prg(279) Warning W0001 Ambiguous reference: 'CADOTMPCONECTION' adoxb.prg(280) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(280) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(281) Warning W0001 Ambiguous reference: 'ARSDATA' adoxb.prg(281) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(281) Warning W0001 Ambiguous reference: 'ARSFNAMES' adoxb.prg(282) Warning W0001 Ambiguous reference: 'NRSRCOUNT' adoxb.prg(283) Warning W0001 Ambiguous reference: 'NRSFCOUNT' adoxb.prg(284) Warning W0001 Ambiguous reference: 'I' adoxb.prg(284) Warning W0001 Ambiguous reference: 'I' adoxb.prg(284) Warning W0001 Ambiguous reference: 'NRSFCOUNT' adoxb.prg(285) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(285) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(285) Warning W0001 Ambiguous reference: 'I' adoxb.prg(285) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(286) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(286) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(286) Warning W0001 Ambiguous reference: 'I' adoxb.prg(286) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(286) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(287) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(287) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(287) Warning W0001 Ambiguous reference: 'I' adoxb.prg(287) Warning W0001 Ambiguous reference: 'NRSFLONG' adoxb.prg(288) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(288) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(288) Warning W0001 Ambiguous reference: 'I' adoxb.prg(288) Warning W0001 Ambiguous reference: 'NRSFDECM' adoxb.prg(289) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(289) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(289) Warning W0001 Ambiguous reference: 'CRSFTYPE' adoxb.prg(289) Warning W0001 Ambiguous reference: 'NRSFLONG' adoxb.prg(289) Warning W0001 Ambiguous reference: 'NRSFDECM' adoxb.prg(290) Warning W0001 Ambiguous reference: 'I' adoxb.prg(290) Warning W0001 Ambiguous reference: 'I' adoxb.prg(291) Warning W0001 Ambiguous reference: 'CADOTMPCONECTION' adoxb.prg(291) Warning W0001 Ambiguous reference: 'ARSFIELDS' adoxb.prg(292) Warning W0001 Ambiguous reference: 'ADBFNAMES' adoxb.prg(293) Warning W0001 Ambiguous reference: 'I' adoxb.prg(293) Warning W0001 Ambiguous reference: 'I' adoxb.prg(293) Warning W0001 Ambiguous reference: 'ADBFNAMES' adoxb.prg(294) Warning W0001 Ambiguous reference: 'ARSFNAMES' adoxb.prg(294) Warning W0002 Ambiguous reference, assuming memvar: 'ADBFNAMES' adoxb.prg(294) Warning W0001 Ambiguous reference: 'I' adoxb.prg(295) Warning W0001 Ambiguous reference: 'I' adoxb.prg(295) Warning W0001 Ambiguous reference: 'I' adoxb.prg(296) Warning W0001 Ambiguous reference: 'CADOTMPCONECTION' adoxb.prg(297) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(297) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(298) Warning W0001 Ambiguous reference: 'CADOTMPCONECTION' adoxb.prg(299) Warning W0001 Ambiguous reference: 'II' adoxb.prg(299) Warning W0001 Ambiguous reference: 'II' adoxb.prg(299) Warning W0001 Ambiguous reference: 'NRSRCOUNT' adoxb.prg(301) Warning W0001 Ambiguous reference: 'I' adoxb.prg(301) Warning W0001 Ambiguous reference: 'I' adoxb.prg(301) Warning W0001 Ambiguous reference: 'NRSFCOUNT' adoxb.prg(302) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(302) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(302) Warning W0001 Ambiguous reference: 'I' adoxb.prg(302) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(303) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(303) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(303) Warning W0001 Ambiguous reference: 'I' adoxb.prg(303) Warning W0001 Ambiguous reference: 'CRSFVALUE' adoxb.prg(304) Warning W0001 Ambiguous reference: 'CRSFVALUE' adoxb.prg(304) Warning W0001 Ambiguous reference: 'CRSFNAME' adoxb.prg(305) Warning W0001 Ambiguous reference: 'I' adoxb.prg(305) Warning W0001 Ambiguous reference: 'I' adoxb.prg(307) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(307) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(308) Warning W0001 Ambiguous reference: 'II' adoxb.prg(308) Warning W0001 Ambiguous reference: 'II' adoxb.prg(310) Warning W0001 Ambiguous reference: 'ARSFNAMES' adoxb.prg(310) Warning W0002 Ambiguous reference, assuming memvar: 'ARSFNAMES' adoxb.prg(310) Warning W0002 Ambiguous reference, assuming memvar: 'ARSFNAMES' adoxb.prg(311) Warning W0001 Ambiguous reference: 'ARSFNAMES' adoxb.prg(311) Warning W0001 Ambiguous reference: 'ARSDATA' adoxb.prg(314) Warning W0001 Ambiguous reference: 'ARSDATA' adoxb.prg(319) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(319) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(347) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(348) Warning W0001 Ambiguous reference: 'ORECORDSET' adoxb.prg(349) Warning W0001 Ambiguous reference: 'OADOINDEX' adoxb.prg(350) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(351) Warning W0001 Ambiguous reference: 'AINDEXORDER' adoxb.prg(352) Warning W0001 Ambiguous reference: 'NINDEXORDER' adoxb.prg(353) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(353) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(354) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(355) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(355) Warning W0001 Ambiguous reference: 'ADCEXECASYNC' adoxb.prg(356) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(356) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(357) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(358) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(365) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(368) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(371) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(371) Warning W0001 Ambiguous reference: 'CADOCONECTIONSTATE' adoxb.prg(372) Warning W0001 Ambiguous reference: 'CADOCONECTIONSTATE' adoxb.prg(384) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(385) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(386) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(387) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(389) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(390) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(392) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(393) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(395) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(400) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(402) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(403) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(405) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(406) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(409) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(412) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(414) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(415) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(417) Warning W0001 Ambiguous reference: 'STRDRIVER' adoxb.prg(418) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(420) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(425) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(426) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(428) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(433) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(433) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(436) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(436) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(437) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(438) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(441) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(449) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(452) Warning W0002 Ambiguous reference, assuming memvar: 'ARECORDSET' adoxb.prg(452) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(457) Warning W0007 Function 'ADOALIAS' does not end with RETURN statement adoxb.prg(458) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(461) Warning W0002 Ambiguous reference, assuming memvar: 'ARECORDSET' adoxb.prg(461) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(466) Warning W0007 Function 'ADOFCOUNT' does not end with RETURN statement adoxb.prg(467) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(473) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(485) Warning W0001 Ambiguous reference: 'ADTEXT' adoxb.prg(494) Warning W0007 Function 'GETFIELDTYPE' does not end with RETURN statement adoxb.prg(495) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(495) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(495) Warning W0002 Ambiguous reference, assuming memvar: 'OADOINDEX' adoxb.prg(501) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(502) Warning W0001 Ambiguous reference: 'OADOERRDESCRIPTION' adoxb.prg(503) Warning W0001 Ambiguous reference: 'OADOINDEX' adoxb.prg(504) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(505) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(506) Warning W0001 Ambiguous reference: 'OADOERRDESCRIPTION' adoxb.prg(507) Warning W0001 Ambiguous reference: 'OADOINDEX' adoxb.prg(508) Warning W0001 Ambiguous reference: 'OADOCATALOG' adoxb.prg(514) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(514) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(520) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(520) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(527) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(527) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(529) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(529) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(529) Warning W0002 Ambiguous reference, assuming memvar: 'ARECORDSET' adoxb.prg(529) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(531) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(531) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(531) Warning W0001 Ambiguous reference: 'MARCA' adoxb.prg(532) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(532) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(533) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(533) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(533) Warning W0001 Ambiguous reference: 'MARCA' adoxb.prg(539) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(539) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(545) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(545) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(551) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(551) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(557) Warning W0001 Ambiguous reference: 'I' adoxb.prg(557) Warning W0001 Ambiguous reference: 'I' adoxb.prg(557) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(558) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(558) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(559) Warning W0001 Ambiguous reference: 'I' adoxb.prg(559) Warning W0001 Ambiguous reference: 'I' adoxb.prg(566) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(566) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(572) Warning W0001 Ambiguous reference: 'OADOCONVERT' adoxb.prg(572) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(572) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(586) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(586) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(587) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(587) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(588) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(588) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(588) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(588) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(589) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(589) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(589) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(589) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(590) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(590) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(595) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(595) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(596) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(596) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(597) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(598) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(598) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(598) Warning W0002 Ambiguous reference, assuming memvar: 'ARECORDSET' adoxb.prg(598) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(613) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(613) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(623) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(623) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(633) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(633) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(641) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(644) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(644) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(649) Warning W0007 Function 'ADORECNO' does not end with RETURN statement adoxb.prg(650) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(653) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(653) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(653) Warning W0001 Ambiguous reference: 'NRECORD' adoxb.prg(654) Warning W0001 Ambiguous reference: 'NRECORD' adoxb.prg(654) Warning W0001 Ambiguous reference: 'NRECORD' adoxb.prg(654) Warning W0001 Ambiguous reference: 'NRECORD' adoxb.prg(655) Warning W0001 Ambiguous reference: 'NRECORD' adoxb.prg(658) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(658) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(664) Warning W0007 Function 'ADORECCOUNT' does not end with RETURN statement adoxb.prg(666) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(666) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(668) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(668) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(675) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(675) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(675) Warning W0001 Ambiguous reference: 'ADRECDELETED' adoxb.prg(683) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(683) Warning W0001 Ambiguous reference: '_RECORDSET' adoxb.prg(684) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(684) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(685) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(685) Warning W0001 Ambiguous reference: '_RECORDSET' adoxb.prg(686) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(686) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(692) Warning W0001 Ambiguous reference: 'I' adoxb.prg(692) Warning W0001 Ambiguous reference: 'I' adoxb.prg(692) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(693) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(693) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(694) Warning W0001 Ambiguous reference: 'I' adoxb.prg(694) Warning W0001 Ambiguous reference: 'I' adoxb.prg(695) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(696) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(702) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(703) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(704) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(705) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(706) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(707) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(708) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(709) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(710) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(711) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(712) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(713) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(714) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(715) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(716) Warning W0001 Ambiguous reference: 'I' adoxb.prg(716) Warning W0001 Ambiguous reference: 'I' adoxb.prg(716) Warning W0001 Ambiguous reference: 'AADODEFINES' adoxb.prg(717) Warning W0002 Ambiguous reference, assuming memvar: 'AADODEFINES' adoxb.prg(717) Warning W0001 Ambiguous reference: 'I' adoxb.prg(717) Warning W0002 Ambiguous reference, assuming memvar: 'AADODEFINES' adoxb.prg(717) Warning W0001 Ambiguous reference: 'I' adoxb.prg(718) Warning W0001 Ambiguous reference: 'I' adoxb.prg(718) Warning W0001 Ambiguous reference: 'I' adoxb.prg(720) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(726) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(726) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(731) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(731) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(736) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(736) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(747) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(747) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(748) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(748) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(749) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(749) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(750) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(750) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(751) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(751) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(759) Warning W0007 Function 'ADOLOCATE' does not end with RETURN statement adoxb.prg(761) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(761) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(761) Warning W0001 Ambiguous reference: 'CSTRFIELD' adoxb.prg(764) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(764) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(766) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(766) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(767) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(767) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(774) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(774) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(779) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(787) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(790) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(790) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(791) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(791) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(791) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(795) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(805) Warning W0001 Ambiguous reference: 'LENGTH' adoxb.prg(806) Warning W0001 Ambiguous reference: 'LENGTH' adoxb.prg(817) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(817) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(818) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(818) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(820) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(820) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(867) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(867) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(882) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(883) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(883) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(884) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(884) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(886) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(886) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(899) Warning W0001 Ambiguous reference: 'OADOSTREAM' adoxb.prg(900) Warning W0001 Ambiguous reference: 'OADOSTREAM' adoxb.prg(901) Warning W0001 Ambiguous reference: 'OADOSTREAM' adoxb.prg(901) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(901) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(902) Warning W0001 Ambiguous reference: 'OADOSTREAM' adoxb.prg(902) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(902) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(903) Warning W0001 Ambiguous reference: 'OADOSTREAM' adoxb.prg(917) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(918) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(918) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(919) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(919) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(921) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(921) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(997) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(997) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(997) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(997) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1004) Warning W0001 Ambiguous reference: 'CSQL' adoxb.prg(1005) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(1005) Warning W0001 Ambiguous reference: 'CSQL' adoxb.prg(1014) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1014) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1016) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(1017) Warning W0001 Ambiguous reference: 'CRECORDSET' adoxb.prg(1018) Warning W0001 Ambiguous reference: 'ARECORDSET' adoxb.prg(1018) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1019) Warning W0001 Ambiguous reference: 'OADOCONECTION' adoxb.prg(1019) Warning W0001 Ambiguous reference: 'ORECORDSET' adoxb.prg(1019) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1020) Warning W0001 Ambiguous reference: 'CADORDD' adoxb.prg(1021) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1021) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1021) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(1023) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1023) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1024) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1024) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1026) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1026) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1027) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1027) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1029) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1029) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1030) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1030) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1032) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1032) Warning W0001 Ambiguous reference: 'NRECORDSET' adoxb.prg(1032) Warning W0001 Ambiguous reference: 'STRCONNECTION' adoxb.prg(1034) Warning W0002 Ambiguous reference, assuming memvar: 'ORECORDSET' adoxb.prg(1034) Warning W0001 Ambiguous reference: 'NRECORDSET' Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 13, 2016 Author Report Share Posted June 13, 2016 Rochinha, Compilando com HARBOUR: adoxb.prg(392) Warning W0001 Ambiguous reference 'STRDRIVER' adoxb.prg(393) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(395) Warning W0001 Ambiguous reference 'STRDRIVER' adoxb.prg(400) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(402) Warning W0001 Ambiguous reference 'STRDRIVER' adoxb.prg(403) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(405) Warning W0001 Ambiguous reference 'STRDRIVER' adoxb.prg(406) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(409) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(412) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(414) Warning W0001 Ambiguous reference 'STRDRIVER' adoxb.prg(415) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(417) Warning W0001 Ambiguous reference 'STRDRIVER' adoxb.prg(418) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(420) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(425) Warning W0001 Ambiguous reference 'CADORDD' adoxb.prg(426) Warning W0001 Ambiguous reference 'CADORDD' adoxb.prg(428) Warning W0001 Ambiguous reference 'CADORDD' adoxb.prg(433) Warning W0001 Ambiguous reference 'CADORDD' adoxb.prg(433) Warning W0001 Ambiguous reference 'CADORDD' adoxb.prg(436) Warning W0001 Ambiguous reference 'OADOCONECTION' adoxb.prg(436) Warning W0001 Ambiguous reference 'OADOCATALOG' adoxb.prg(437) Warning W0001 Ambiguous reference 'OADOCATALOG' adoxb.prg(438) Warning W0001 Ambiguous reference 'OADOCATALOG' adoxb.prg(441) Warning W0001 Ambiguous reference 'OADOCATALOG' adoxb.prg(449) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(452) Warning W0002 Ambiguous reference, assuming memvar 'ARECORDSET' adoxb.prg(452) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(457) Warning W0007 Function 'ADOALIAS' does not end with RETURN state ment adoxb.prg(458) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(461) Warning W0002 Ambiguous reference, assuming memvar 'ARECORDSET' adoxb.prg(461) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(466) Warning W0007 Function 'ADOFCOUNT' does not end with RETURN stat ement adoxb.prg(467) Warning W0001 Ambiguous reference 'OADOCONECTION' adoxb.prg(473) Warning W0001 Ambiguous reference 'OADOCONECTION' adoxb.prg(485) Warning W0001 Ambiguous reference 'ADTEXT' adoxb.prg(494) Warning W0007 Function 'GETFIELDTYPE' does not end with RETURN s tatement adoxb.prg(495) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(495) Warning W0002 Ambiguous reference, assuming memvar 'OADOINDEX' adoxb.prg(495) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(501) Warning W0001 Ambiguous reference 'OADOCONECTION' adoxb.prg(502) Warning W0001 Ambiguous reference 'OADOERRDESCRIPTION' adoxb.prg(503) Warning W0001 Ambiguous reference 'OADOINDEX' adoxb.prg(504) Warning W0001 Ambiguous reference 'OADOCATALOG' adoxb.prg(505) Warning W0001 Ambiguous reference 'OADOCONECTION' adoxb.prg(506) Warning W0001 Ambiguous reference 'OADOERRDESCRIPTION' adoxb.prg(507) Warning W0001 Ambiguous reference 'OADOINDEX' adoxb.prg(508) Warning W0001 Ambiguous reference 'OADOCATALOG' adoxb.prg(514) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(514) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(520) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(520) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(527) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(527) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(529) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(529) Warning W0002 Ambiguous reference, assuming memvar 'ARECORDSET' adoxb.prg(529) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(529) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(531) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(531) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(531) Warning W0001 Ambiguous reference 'MARCA' adoxb.prg(532) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(532) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(533) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(533) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(533) Warning W0001 Ambiguous reference 'MARCA' adoxb.prg(539) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(539) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(545) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(545) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(551) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(551) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(557) Warning W0001 Ambiguous reference 'I' adoxb.prg(558) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(558) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(559) Warning W0001 Ambiguous reference 'I' adoxb.prg(559) Warning W0001 Ambiguous reference 'I' adoxb.prg(559) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(566) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(566) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(572) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(572) Warning W0001 Ambiguous reference 'OADOCONVERT' adoxb.prg(572) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(586) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(586) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(587) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(587) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(588) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(588) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(588) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(588) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(589) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(589) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(589) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(589) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(590) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(590) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(595) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(595) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(596) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(596) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(597) Warning W0001 Ambiguous reference 'CADORDD' adoxb.prg(598) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(598) Warning W0002 Ambiguous reference, assuming memvar 'ARECORDSET' adoxb.prg(598) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(598) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(613) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(613) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(623) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(623) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(633) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(633) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(641) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(644) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(644) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(649) Warning W0007 Function 'ADORECNO' does not end with RETURN state ment adoxb.prg(650) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(653) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(653) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(653) Warning W0001 Ambiguous reference 'NRECORD' adoxb.prg(654) Warning W0001 Ambiguous reference 'NRECORD' adoxb.prg(654) Warning W0001 Ambiguous reference 'NRECORD' adoxb.prg(654) Warning W0001 Ambiguous reference 'NRECORD' adoxb.prg(655) Warning W0001 Ambiguous reference 'NRECORD' adoxb.prg(658) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(658) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(664) Warning W0007 Function 'ADORECCOUNT' does not end with RETURN st atement adoxb.prg(666) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(666) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(668) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(668) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(675) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(675) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(675) Warning W0001 Ambiguous reference 'ADRECDELETED' adoxb.prg(683) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(683) Warning W0001 Ambiguous reference '_RECORDSET' adoxb.prg(684) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(684) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(685) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(685) Warning W0001 Ambiguous reference '_RECORDSET' adoxb.prg(686) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(686) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(692) Warning W0001 Ambiguous reference 'I' adoxb.prg(693) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(693) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(694) Warning W0001 Ambiguous reference 'I' adoxb.prg(694) Warning W0001 Ambiguous reference 'I' adoxb.prg(694) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(695) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(696) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(702) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(703) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(704) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(705) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(706) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(707) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(708) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(709) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(710) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(711) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(712) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(713) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(714) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(715) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(716) Warning W0001 Ambiguous reference 'I' adoxb.prg(717) Warning W0002 Ambiguous reference, assuming memvar 'AADODEFINES' adoxb.prg(717) Warning W0002 Ambiguous reference, assuming memvar 'AADODEFINES' adoxb.prg(717) Warning W0001 Ambiguous reference 'I' adoxb.prg(717) Warning W0001 Ambiguous reference 'I' adoxb.prg(718) Warning W0001 Ambiguous reference 'I' adoxb.prg(718) Warning W0001 Ambiguous reference 'I' adoxb.prg(718) Warning W0001 Ambiguous reference 'AADODEFINES' adoxb.prg(720) Warning W0001 Ambiguous reference 'OADOCONECTION' adoxb.prg(726) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(726) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(731) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(731) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(736) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(736) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(747) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(747) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(748) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(748) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(749) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(749) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(750) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(750) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(751) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(751) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(759) Warning W0007 Function 'ADOLOCATE' does not end with RETURN stat ement adoxb.prg(761) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(761) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(761) Warning W0001 Ambiguous reference 'CSTRFIELD' adoxb.prg(764) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(764) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(766) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(766) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(767) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(767) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(774) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(774) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(779) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(787) Warning W0001 Ambiguous reference 'CADORDD' adoxb.prg(790) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(790) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(791) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(791) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(791) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(795) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(805) Warning W0001 Ambiguous reference 'LENGTH' adoxb.prg(806) Warning W0001 Ambiguous reference 'LENGTH' adoxb.prg(817) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(817) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(818) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(818) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(820) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(820) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(867) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(867) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(882) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(883) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(883) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(884) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(884) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(886) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(886) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(899) Warning W0001 Ambiguous reference 'OADOSTREAM' adoxb.prg(900) Warning W0001 Ambiguous reference 'OADOSTREAM' adoxb.prg(901) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(901) Warning W0001 Ambiguous reference 'OADOSTREAM' adoxb.prg(901) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(902) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(902) Warning W0001 Ambiguous reference 'OADOSTREAM' adoxb.prg(902) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(903) Warning W0001 Ambiguous reference 'OADOSTREAM' adoxb.prg(917) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(918) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(918) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(919) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(919) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(921) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(921) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(997) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(997) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(997) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(997) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1004) Warning W0001 Ambiguous reference 'CSQL' adoxb.prg(1005) Warning W0001 Ambiguous reference 'OADOCONECTION' adoxb.prg(1005) Warning W0001 Ambiguous reference 'CSQL' adoxb.prg(1014) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1014) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1016) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(1017) Warning W0001 Ambiguous reference 'CRECORDSET' adoxb.prg(1018) Warning W0001 Ambiguous reference 'ARECORDSET' adoxb.prg(1018) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1019) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1019) Warning W0001 Ambiguous reference 'OADOCONECTION' adoxb.prg(1019) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1020) Warning W0001 Ambiguous reference 'CADORDD' adoxb.prg(1021) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1021) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1021) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(1023) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1023) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1024) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1024) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1026) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1026) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1027) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1027) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1029) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1029) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1030) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1030) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1032) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1032) Warning W0001 Ambiguous reference 'NRECORDSET' adoxb.prg(1032) Warning W0001 Ambiguous reference 'STRCONNECTION' adoxb.prg(1034) Warning W0002 Ambiguous reference, assuming memvar 'ORECORDSET' adoxb.prg(1034) Warning W0001 Ambiguous reference 'NRECORDSET' * Compile errors * Quote Link to comment Share on other sites More sharing options...
rochinha Posted June 13, 2016 Report Share Posted June 13, 2016 Amiguinhos, kapiaba Como você sabe "warning" não é "erro". Se você setar o parâmetro W com zero eles somem mas o executável sempre será criado. Provavelmente o fivewin.ch pode estar abrindo um .ch que contenha as declarações do adoxb.ch. Para saber o que ocorre com seu FIREBIR3.PRG era bom ver o código. O código que coloquei serve para analisar arquivos .GBD de vários clientes, eu só modifico o database e as tabelas que irei abrir. Para compilar o ADOxB.prg em sua aplicação coloque no inicio do seu FIREBIR3.PRG #define_ADO_xHarbour_ kapiaba Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 13, 2016 Author Report Share Posted June 13, 2016 /* * * Mais informacoes sobre ADO em * http://www.microsoft.com/brasil/technet/Colunas/scriptcenter/resources/officetips/nov05/tips1103.mspx * */ #include "Fivewin.ch" #include "adoxb.ch" // Instalei Firebird-2.1.3.18185_0_Win32.exe // Copiei c:\windows\system32\gds32.dll para a pasta do database // Especifiquei o caminho completo do database FUNCTION MAIN() PUBLIC oRs ADOSetRDD( "Firebird" ) //StrDatabase := "Z:\D_\disco\E\FONTES\NFW\harbour\libs\adodb\gdb\adogdb.gdb" StrDatabase := "C:\FIREBIRD\FDCMARKET.gdb" StrConnection := "DRIVER=Firebird/InterBase(r) driver; UID=SYSDBA; PWD=masterkey; Database="+StrDatabase+"; DIALECT=3" //; vendorclient=gds32.dll;" MsgRun( "Conectando..." ) ADO CONNECT StrConnection oRs := oRecordSet // Cria tabelas se nao existirem if ADOFile( "clientes" ) else MsgRun( "Criando tabela CLIENTES..." ) ADO EXECUTE "DROP TABLE clientes" ADO EXECUTE "CREATE TABLE clientes (nome char(45), email char(45), unique(nome))" endif if ADOFile( "siglas" ) else MsgRun( "Criando tabela SIGLAS..." ) ADO EXECUTE "DROP TABLE siglas" ADO EXECUTE "CREATE TABLE siglas (uf char(2), estado char(20), unique(uf))" endif if ADOFile( "teste" ) else MsgRun( "Criando tabela TESTE..." ) ADO EXECUTE "DROP TABLE teste" ADO EXECUTE "CREATE TABLE teste (uf char(2), estado char(20), unique(uf))" endif // Abre as tabelas ADO USE clientes ADO USE siglas // Verifica se ja possuem dados ADO SELECT clientes //ADO GOTOP nRegistros := ADORecCount() // ? ADOAlias(), nRegistros if nRegistros = 0 ADO APPEND BLANK ADO REPLACE nome WITH "JOSE CARLOS DA ROCHA" ADO REPLACE email WITH "IROCHINHA@ITELEFONICA.COM.BR" ADO COMMIT endif ADO SELECT siglas //ADO GOTOP nRegistros := ADORecCount() // ? ADOAlias(), nRegistros if nRegistros = 0 ADO APPEND BLANK ADO REPLACE uf WITH "SP" ADO REPLACE estado WITH "SAO PAULO" ADO COMMIT ADO APPEND BLANK ADO REPLACE uf WITH "RJ" ADO REPLACE estado WITH "RIO DE JANEIRO" ADO COMMIT endif MsgRun( "Executando..." ) ADO SELECT clientes ADO GOTOP MsgRun( "Executando SET FILTER TO nome like '*teste*'..." ) ADO SET FILTER TO "nome like '*tete*'" if ADOEof() ? 'Nada foi filtrado' ADO SET FILTER TO ADO GOTOP endif Browse( oRs ) ADO SET FILTER TO MsgRun( "Executando LOCATE nome like 'TESTES'..." ) ADO LOCATE "nome like 'TESTES*'" if ADOEof() ? 'Nada foi encontrado' ADO GOTOP endif Browse( oRs ) //MsgRun( "Executando SORT ON nome..." ) //ADO SORT ON clientes.nome //Browse( oRs ) //WBrowseRecordSet( oRs, StrField2 ) //Browse( oRs ) ADO CLOSE RETURN NIL function WBrowseRecordSet( oRs, cStrField ) LOCAL oDlg, oBrw, nRec DEFINE DIALOG oDlg SIZE 300, 300 @ 0, 0 LISTBOX oBrw FIELDS oRs:Fields( "nome" ):Value ; HEADERS "Nome do Cliente" ; FIELDSIZES 300 ; ON RIGHT CLICK ( nRec := oRs:AbsolutePosition,; oBrw:Report( "TWBrowse report", .T. ),; oRs:MoveFirst(),; oRs:Move( nRec - 1 ) ) oBrw:bLDblClick:= { |nRow,nCol| MsgStop( oRs:Fields( "email" ):Value ) } oBrw:nHeaderStyle := 2 oBrw:nHeaderHeight := 20 oBrw:nLineHeight := 15 oBrw:bLogicLen := { || oRs:RecordCount } oBrw:bGoTop := { || oRs:MoveFirst() } oBrw:bGoBottom := { || oRs:MoveLast() } oBrw:bSkip := { | nSkip | ADOSkipper( oRs, nSkip ) } oBrw:cAlias := "ARRAY" ACTIVATE DIALOG oDlg; ON INIT oDlg:SetControl( oBrw ); CENTER RETURN NIL function browse(oRs, bPrc, bAdc, bAlt, bExc, bImp, bSai) LOCAL oDlg, oBrw, nRec LOCAL aData := {} LOCAL nFor LOCAL oLbx, cItem LOCAL btnPrc, btnAdc, btnAlt, btnExc, btnImp, btnsai DEFAULT bPrc := { || RecPrc( oLbx ) },; bAdc := { || RecInc( oLbx ) },; bAlt := { || RecAlt( oLbx ) },; bExc := { || RecExc( oLbx ) },; bImp := { || RecImp( oLbx ) },; bSai := { || oDlg2:End() } DEFINE DIALOG oDlg2 From 0,0 To 800,1020 Pixel TITLE " ListBox da Tabela " @ 05,15 listbox oBrw Fields ADOField( "nome" ), ADOField( "email" ) ; headers "Nome","email" ; fieldsizes 250,100 ; pixel size 400,300 of odlg2 //oBrw:bLDblClick:= { |nRow,nCol| MsgStop( oRs:Fields( "apelido" ):Value ) } oBrw:nHeaderStyle := 2 oBrw:nHeaderHeight := 20 oBrw:nLineHeight := 15 oBrw:bLogicLen := { || ADORecCount() } oBrw:bGoTop := { || ADOGotop() } oBrw:bGoBottom := { || ADOGoBottom() } oBrw:bSkip := { | nSkip | ADOSkip( nSkip ) } oBrw:cAlias := "ARRAY" @ 18.7 , 05 button btnprc prompt "&Procurar" of oDlg2 size 40,12 Action RecPrc(oBrw) @ 18.7 , 15 button btnadc prompt "&Adicionar" of oDlg2 size 40,12 Action RecInc(oBrw) @ 18.7 , 25 button btnalt prompt "A<erar" of oDlg2 size 40,12 Action RecAlt(oBrw) @ 18.7 , 35 button btnexc prompt "&Excluir" of oDlg2 size 40,12 Action RecExc(oBrw) @ 18.7 , 45 button btnimp prompt "&Imprimir" of oDlg2 size 40,12 @ 18.7 , 55 button btnsai prompt "&Sair" of oDlg2 size 40,12 Action oDlg2:End() ACTIVATE DIALOG oDlg2 //; //ON INIT oDlg2:SetControl( oBrw ); //CENTER RETURN NIL function ADOSkipper( oRs, nSkip ) LOCAL nRec := oRs:AbsolutePosition oRs:Move( nSkip ) IF oRs:EOF; oRs:MoveLast(); ENDIF IF oRs:BOF; oRs:MoveFirst(); ENDIF RETURN oRs:AbsolutePosition - nRec //----------------------------------------------------------- static function RecPrc(oLbx) Local odlg1 Local cCodigo:=0 Local cSair:=" " Local sql DEFINE DIALOG oDlg1 From 0,0 To 160,250 PIXEL; TITLE " Procura na Tabela em Access " DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10 && Use a Nonproportional font SET FONT OF oDlg1 TO oFont && so characters line up in Says @ 02,05 say "Codigo : " OF oDlg1 @ 02.2,10 get cCodigo OF oDlg1 picture "9999" size 20,10 @ 02.7 , 10 button "Procurar" of oDlg1 size 40,12 action (cSair:="*",oDlg1:End()) ACTIVATE DIALOG oDlg1 centered if cSair="*" //locate for (odbf:cAlias)->field_0001 = cCodigo criterio = "idpessoa Like '" + cCodigo + "%'" //oRs:MoveFirst() //oRs:Find criterio, 0, adSearchFoward if eof() msgAlert("NÆo encontrado !!!") go top endif oLbx:Refresh() endif return nil //----------------------------------------------------------- static function RecInc(oLbx) LOCAL odlg3 LOCAL cNome := space(40) LOCAL cTelefone := space(14) LOCAL cEmail := space(40) LOCAL cSair := " " DEFINE DIALOG oDlg3 From 0,0 To 230,500 PIXEL TITLE " Inclusao na Tabela em Access " DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10 && Use a Nonproportional font SET FONT OF oDlg3 TO oFont && so characters line up in Says @ 02,05 say "Nome_____: " OF oDlg3 @ 04,05 say "Email____: " OF oDlg3 // @ 02.2,10 get cNome OF oDlg3 picture "@!" size 150,10 @ 04.4,10 get cEmail OF oDlg3 picture "@!" size 150,10 // @ 04.7 , 15 button "Salvar" of oDlg3 size 40,12 action (cSair:="*",oDlg3:End()) ACTIVATE DIALOG oDlg3 centered if cSair="*" ADO APPEND BLANK ADO REPLACE nome WITH alltrim( cNome ) ADO REPLACE email WITH alltrim( cEmail ) ADO COMMIT oLbx:Refresh() endif return nil //----------------------------------------------------------- static function RecExc(oLbx) if MsgYesNo( "Excluir este Registro ?", "Por Favor, confirme" ) ADO DELETE //ADO SKIP oLbx:Refresh() endif return nil //----------------------------------------------------------- static function RecAlt(oLbx) LOCAL odlg3 LOCAL cNome := PadR( ADOField( "nome" ), 40 ) LOCAL cEmail := PadR( ADOField( "email" ), 40 ) LOCAL cSair := " " DEFINE DIALOG oDlg3 From 0,0 To 230,500 PIXEL TITLE " Inclusao na Tabela em Access " DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10 && Use a Nonproportional font SET FONT OF oDlg3 TO oFont && so characters line up in Says // @ 02,05 say "Nome_____: " OF oDlg3 @ 04,05 say "Email____: " OF oDlg3 // @ 02.2,10 get cNome OF oDlg3 picture "@!" size 150,10 @ 04.4,10 get cEmail OF oDlg3 picture "@!" size 150,10 // @ 04.7 , 15 button "Salvar" of oDlg3 size 40,12 action (cSair:="*",oDlg3:End()) ACTIVATE DIALOG oDlg3 centered if cSair="*" //ADO APPEND BLANK ADO REPLACE nome WITH alltrim( cNome ) ADO REPLACE email WITH alltrim( cEmail ) ADO COMMIT oLbx:Refresh() endif return nil //----------------------------------------------------------- static function RecImp( oLbx ) /* local oRpt local n local cAlias := If( oLbx != nil, oLbx:cAlias, Alias() ) REPORT oRpt TITLE "Relatorio: " + cAlias ; HEADER "Data: " + DToC( Date() ) + ", Hora: " + Time() ; FOOTER "Pagina: " + Str( oRpt:nPage, 3 ) ; PREVIEW if Empty( oRpt ) .or. oRpt:oDevice:hDC == 0 return nil endif for n = 1 to FCount() oRpt:AddColumn( TrColumn():New( { FInfo1( cAlias, n ) },,; { FInfo2( cAlias, n ) },,,,,,,,,, oRpt ) ) next ENDREPORT ACTIVATE REPORT oRpt GO TOP */ return nil //-------------------------------------------- static function FInfo1( cAlias, n ) return { || ( cAlias )->( FieldName( n ) ) } //----------------------------------------------------------- static function FInfo2( cAlias, n ) return { || ( cAlias )->( FieldGet( n ) ) } Function DbfDbt() Return Nil #include "adoxb.prg" Quote Link to comment Share on other sites More sharing options...
rochinha Posted June 14, 2016 Report Share Posted June 14, 2016 Amiguinhos, kapiaba Voce obteve erro já nesta linha? ADO CONNECT StrConnection Veja também que coloquei no código o que eu fiz. // Instalei Firebird-2.1.3.18185_0_Win32.exe // Copiei c:\windows\system32\gds32.dll para a pasta do database // Especifiquei o caminho completo do database Esqueci de falar que o database, o executável e a gds32.dll estavam na mesma pasta. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 14, 2016 Author Report Share Posted June 14, 2016 Meu querido Rochinha, deixe pra lá, já resolvemos de outra forma. Muito obrigado. rochinha 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.