Visual Basic - Problema con codigo de visual basic

Life is soft - evento anual de software empresarial
 
Vista:

Problema con codigo de visual basic

Publicado por Rodrigo Lama (2 intervenciones) el 16/06/2011 23:51:15
Amigos llego un tiempo intentando hacer un formulario para utilizar en una pocket PC
el problema que tengo es con los COMBO BOX
ejemplo
tengo tengo 3 combo box cada uno tiene diferentes registros pero cuando seleccion el registro del ultimo combo y lo guardo, se me graba el valor del ultimo como para todos los anteriores, favor si alguien me puede ayuda.

adjunto código donde va el problema que no puedo solucionar.

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
76
77
78
79
80
81
82
sub getCodePola()
'RESCATO SEGUN KEYED EL VALOR AL REGISTRO
	select case keyed
		case 1
			objTheControls1("dac").text= objRS.Fields(17).Value
			objTheControls1("alt").text= objRS.Fields(18).Value
			objTheControls1("txtplanta").text= objRS.Fields(19).Value
			objTheControls1("txtplanta").text= objRS.Fields(56).Value
			objTheControls1("txtplanta").text= objRS.Fields(62).Value
		case 2
			objTheControls1("dac").text= objRS.Fields(20).Value
			objTheControls1("alt").text= objRS.Fields(21).Value
			objTheControls1("txtplanta").text= objRS.Fields(22).Value
			objTheControls1("txtplanta").text= objRS.Fields(57).Value
			objTheControls1("txtplanta").text= objRS.Fields(63).Value
		case 3
			objTheControls1("dac").text= objRS.Fields(23).Value
			objTheControls1("alt").text= objRS.Fields(24).Value
			objTheControls1("txtplanta").text= objRS.Fields(25).Value
			objTheControls1("txtplanta").text= objRS.Fields(58).Value
			objTheControls1("txtplanta").text= objRS.Fields(64).Value
		case 4
			objTheControls1("dac").text= objRS.Fields(26).Value
			objTheControls1("alt").text= objRS.Fields(27).Value
			objTheControls1("txtplanta").text= objRS.Fields(28).Value
			objTheControls1("txtplanta").text= objRS.Fields(59).Value
			objTheControls1("txtplanta").text= objRS.Fields(65).Value
		case 5
			objTheControls1("dac").text= objRS.Fields(29).Value
			objTheControls1("alt").text= objRS.Fields(30).Value
			objTheControls1("txtplanta").text= objRS.Fields(31).Value
			objTheControls1("txtplanta").text= objRS.Fields(60).Value
			objTheControls1("txtplanta").text= objRS.Fields(66).Value
		case 6
			objTheControls1("dac").text= objRS.Fields(48).Value
			objTheControls1("alt").text= objRS.Fields(49).Value
			objTheControls1("txtplanta").text= objRS.Fields(50).Value
			objTheControls1("txtplanta").text= objRS.Fields(61).Value
			objTheControls1("txtplanta").text= objRS.Fields(67).Value
	end select
 
	SetCboTxt objTheControls1("pol1"), objTheControls1("txtplanta").text
	SetCboTxt objTheControls1("Fert1"), objTheControls1("txtplanta").text
	SetCboTxt objTheControls1("Defec1"), objTheControls1("txtplanta").text
 
end sub
 
 
 
sub upkey()
 
	keyed=keyed+1
	if keyed>6 then keyed=1
 
	objTheControls1("lblplanta").text =keyed
 
	getcodepola
end sub
 
sub downkey()
 
	keyed=keyed-1
	if keyed<1 then keyed=6
 
	objTheControls1("lblplanta").text =keyed
 
	getcodepola
end sub
 
 
sub just2digit()
 
	if len(objTheControls1("dac").text)>2 then
		objTheControls1("dac").text=left(objTheControls1("dac").text,2)
	end if
 
 
	if len(objTheControls1("alt").text)>2 then
		objTheControls1("alt").text=left(objTheControls1("alt").text,2)
	end if
 
end sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con codigo de visual basic

Publicado por jcmg (518 intervenciones) el 17/06/2011 05:08:09
porque no pones exit sub despues del contenido de cada case para que no se brinque al otro
case 1
objTheControls1("dac").text= objRS.Fields(17).Value objTheControls1("alt").text= objRS.Fields(18).Value objTheControls1("txtplanta").text= objRS.Fields(19).Value objTheControls1("txtplanta").text= objRS.Fields(56).Value objTheControls1("txtplanta").text= objRS.Fields(62).Value
exit sub
case 2
.
.
.
otra cosa:
estas lineas despues de End Select
SetCboTxt objTheControls1("pol1"), objTheControls1("txtplanta").text SetCboTxt objTheControls1("Fert1"), objTheControls1("txtplanta").text SetCboTxt objTheControls1("Defec1"), objTheControls1("txtplanta").text
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con codigo de visual basic

Publicado por Rodrigo Lama (2 intervenciones) el 17/06/2011 16:47:27
Gracias Jcmg pense que que nadie me responderia gracias por tu intervencion.

te comento que hice lo que me indicas, pero ahora por ejemplo selecciono un campo en el combo box y se repiten para todos los case, me quedan los mismo registro y si lo cambio en otro case se me guarda pero sobreescribe el anterior y sigue repitiendo, talvez el "txtplanta" deba ser diferente para cada resgistro?


adjunto codigo ampliado para ver si me puedes ayudar.

Gracias

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
sub sendcode()
dim msel
dim msef
dim msed
 
	msel = objTheControls1("pol1").text
	msef = objTheControls1("Fert1").text
	msed = objTheControls1("Defec1").text
 
	'ASIGNO SEGUN KEYED EL VALOR AL REGISTRO
	select case keyed
		case 1
			objRS.Fields(17).Value= objTheControls1("dac").text
			objRS.Fields(18).Value= objTheControls1("alt").text
			objRS.Fields(19).Value =msel
			objRS.Fields(57).Value =msef
			objRS.Fields(62).Value =msed
		exit sub
		case 2
			objRS.Fields(20).Value= objTheControls1("dac").text
			objRS.Fields(21).Value= objTheControls1("alt").text
			objRS.Fields(22).Value =msel
			objRS.Fields(58).Value =msef
			objRS.Fields(63).Value =msed
		exit sub
		case 3
			objRS.Fields(23).Value= objTheControls1("dac").text
			objRS.Fields(24).Value= objTheControls1("alt").text
			objRS.Fields(25).Value =msel
			objRS.Fields(58).Value =msef
			objRS.Fields(64).Value =msed
		exit sub
		case 4
			objRS.Fields(26).Value= objTheControls1("dac").text
			objRS.Fields(27).Value= objTheControls1("alt").text
			objRS.Fields(28).Value =msel
			objRS.Fields(59).Value =msef
			objRS.Fields(65).Value =msed
		exit sub
		case 5
			objRS.Fields(29).Value= objTheControls1("dac").text
			objRS.Fields(30).Value= objTheControls1("alt").text
			objRS.Fields(31).Value =msel
			objRS.Fields(60).Value =msef
			objRS.Fields(66).Value =msed
		exit sub
		case 6
			objRS.Fields(48).Value= objTheControls1("dac").text
			objRS.Fields(49).Value= objTheControls1("alt").text
			objRS.Fields(50).Value =msel
			objRS.Fields(61).Value =msef
			objRS.Fields(67).Value =msed
		exit sub
	end select
 
 
end sub
 
 
sub getCodePola()
'RESCATO SEGUN KEYED EL VALOR AL REGISTRO
	select case keyed
		case 1
			objTheControls1("dac").text= objRS.Fields(17).Value
			objTheControls1("alt").text= objRS.Fields(18).Value
			objTheControls1("txtplanta").text= objRS.Fields(19).Value
			objTheControls1("txtplanta").text= objRS.Fields(56).Value
			objTheControls1("txtplanta").text= objRS.Fields(62).Value
		exit sub
		case 2
			objTheControls1("dac").text= objRS.Fields(20).Value
			objTheControls1("alt").text= objRS.Fields(21).Value
			objTheControls1("txtplanta").text= objRS.Fields(22).Value
			objTheControls1("txtplanta").text= objRS.Fields(57).Value
			objTheControls1("txtplanta").text= objRS.Fields(63).Value
		exit sub
		case 3
			objTheControls1("dac").text= objRS.Fields(23).Value
			objTheControls1("alt").text= objRS.Fields(24).Value
			objTheControls1("txtplanta").text= objRS.Fields(25).Value
			objTheControls1("txtplanta").text= objRS.Fields(58).Value
			objTheControls1("txtplanta").text= objRS.Fields(64).Value
		exit sub
		case 4
			objTheControls1("dac").text= objRS.Fields(26).Value
			objTheControls1("alt").text= objRS.Fields(27).Value
			objTheControls1("txtplanta").text= objRS.Fields(28).Value
			objTheControls1("txtplanta").text= objRS.Fields(59).Value
			objTheControls1("txtplanta").text= objRS.Fields(65).Value
		exit sub
		case 5
			objTheControls1("dac").text= objRS.Fields(29).Value
			objTheControls1("alt").text= objRS.Fields(30).Value
			objTheControls1("txtplanta").text= objRS.Fields(31).Value
			objTheControls1("txtplanta").text= objRS.Fields(60).Value
			objTheControls1("txtplanta").text= objRS.Fields(66).Value
		exit sub
		case 6
			objTheControls1("dac").text= objRS.Fields(48).Value
			objTheControls1("alt").text= objRS.Fields(49).Value
			objTheControls1("txtplanta").text= objRS.Fields(50).Value
			objTheControls1("txtplanta").text= objRS.Fields(61).Value
			objTheControls1("txtplanta").text= objRS.Fields(67).Value
		exit sub
	end select
 
	SetCboTxt objTheControls1("pol1"), objTheControls1("txtplanta").text
	SetCboTxt objTheControls1("Fert1"), objTheControls1("txtplanta").text
	SetCboTxt objTheControls1("Defec1"), objTheControls1("txtplanta").text
 
end sub
 
 
 
sub upkey()
 
	keyed=keyed+1
	if keyed>6 then keyed=1
 
	objTheControls1("lblplanta").text =keyed
 
	getcodepola
end sub
 
sub downkey()
 
	keyed=keyed-1
	if keyed<1 then keyed=6
 
	objTheControls1("lblplanta").text =keyed
 
	getcodepola
end sub
 
 
sub just2digit()
 
	if len(objTheControls1("dac").text)>2 then
		objTheControls1("dac").text=left(objTheControls1("dac").text,2)
	end if
 
 
	if len(objTheControls1("alt").text)>2 then
		objTheControls1("alt").text=left(objTheControls1("alt").text,2)
	end if
 
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar