Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Последние цифири заменяет нулями / 1 сообщений из 1, страница 1 из 1
30.03.2019, 17:22
    #39794090
natalitvinenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Последние цифири заменяет нулями
Читаю из Excel как-то так
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
//var WshShell = new ActiveXObject( 'WScript.Shell' );
var  connection1 = new ActiveXObject("ADODB.Connection"),recordset1 = new ActiveXObject("ADODB.Recordset");
if(Ex_ex=="xls")
	{
		connection1.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" +pppath+"; Persist Security Info=False;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';");

	
	}
else {
	//!connection1.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+pppath+"; Persist Security Info=False;Extended Properties='Excel 12.0 Xml;HDR=NO;IMEX=1'");///////////////////myForm.Dbf_dbf.value);
	connection1.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+pppath+"; Persist Security Info=False;Extended Properties='Excel 12.0;HDR=NO;IMEX=1'");///////////////////myForm.Dbf_dbf.value);
	//TypeGuessRows везде в реестре поменять!!!
	};

var krolik;
        var rs = new ActiveXObject("ADODB.Recordset");
for ( i=1; i < 13; i++ )
    {
        var SQL = "select * from [Для договора с почтой$A"+(i-1)*500+2+":BG"+i*500+2+"]";//Для договора с почтой
	//!var SQL = "select * from [Для договора с почтой$A2:BG5000]";//Для договора с почтой
	rs.Open(SQL, connection1);
        if(rs.bof)
        {
            document.write('No Data Avaliable');
        } 
	




	var t1,t2,t3,t4,t5,t6,t7,t8,t9,t5_N_HOUSE,str_krolik,yearN2,monthN2,dayN2;
        if(!rs.bof)
        {
            rs.MoveFirst()
            while(!rs.eof) 
            {
                ///if ( rs.fields(13).value!= null ){t1=rs.fields(13).value;}else{t1="";}
		if ( rs.fields(10).value=== null ) {t1="";}else{t1=rs.fields(10).value;} 
		///if ( rs.fields(17).value!= null ) {t2=rs.fields(17).value;}else{t2="";}
		if ( rs.fields(13).value=== null ) {t2="";}else{t2=rs.fields(13).value;}
		///if ( rs.fields(9).value!= null ) {t3=rs.fields(9).value;t3=trim(t3);}else{t3="";}
		if ( rs.fields(7).value=== null ) {t3="";}else{t3=rs.fields(7).value;t3=trim(t3);}
		if ( rs.fields(11).value=== null ) {t7="0";}else{t7=rs.fields(11).value;}
		if ( rs.fields(9).value=== null ) {t8="0";}else{t8=rs.fields(9).value;}
		if ( rs.fields(12).value=== null ) {t9="0";}else{t9=rs.fields(12).value;}

		//t5_N_HOUSE_2
		
		str_krolik=new Date(rs.fields(2).value);
		dat_string=str_krolik.getFullYear()+ '/' +String(str_krolik.getMonth()+1).replace(/^(.)$/, "0$1") +'/'+String(str_krolik.getDate()).replace(/^(.)$/, "0$1");
		t4=rs.fields(4).value;
 		t4=t4.replace( /'/g, "" ).replace( /[|]/g, "" );
		t5=String(rs.fields(1).value+" *1-0+0");
		//t5=String(rs.fields(1).Text);
		//t5=rs.fields(1).value+" *1-0+0";
		//alert(t5);
		//!t5=t5.replace(/\s/g,'');//.trim();
		//t5=t5.replace(/\s/g,'').replace(/\s/g, "").replace(/ /gi,"").replace(/ /g, "").replace(/ /g,'').replace(/\s*/g,'').replace(/\s+/g,'');//.trim();
		t5=t5.replace(/ /g, "");//.trim();

connection.Execute("insert into ["+name_dbftable+"] (CODE_FIRME, ABCOUNT,DATE_D,CODE_PLAT,FIO,CODE_C,CODE_S,NAME_S,N_HOUSE,F_HOUSE,A_HOUSE, D_HOUSE,N_ROOM,A_ROOM,[CURRENCY])" +
			" values ( " + rs.fields(0).value+", "+ t5+  " , '"+ dat_string+"', "+ String(rs.fields(3).value) +",'"+ String(t4)+" ', ("+ rs.fields(5).value+"+0), ("+ rs.fields(6).value+"+0), '"+ t3+" ', ("+ String(rs.fields(8).value)+"), ("+ rs.fields(9).value+"+0), '"+ t1+" ', ("+ rs.fields(11).value+"+0), ("+ rs.fields(12).value+"+0), '"+t2+" ', " + rs.fields(57).value +
			"     );");
		
		
                
		rs.MoveNext();
            }
                
        }
        rs.Close();
        ///////////////alert(krolik);
        
    }// for ( i=0; i < AFormat.length; i++ )
               


И вот во столбце ABCOUNT ближе к концу файла началось- в семизначном семицифренном числе последняя цифра заменяется на ноль. Эффект возникает только тогда, когда скармливаешь программе файл xls, у формата xlsx такого нет.
Всячески маялась- это в программе переменная t5, там по закоментированному видно. Пробовала экспериментировать - брала не весь интервал, а часть. не 4000+ строк, а три:-) из проблемного промежутка, потом больше. Отрабатывает нормально. Предположила, что глюк связан с размером файла. Попробовала не брать весь рекордсет, а читать его кусочками по 1000, потом по 500, в программе это как раз есть. Не помогло.
Заметила также, что такое начинается, когда коды одного типа, на 9, менятся на коды, которые на 7. Причем коды на 9 обычно подают с пробелами в середине:-)
Есть ли у кого идеи? Благодарю.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Последние цифири заменяет нулями / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]